我的 Windows 计算机中有一个大小约为 8 MB 的文本文件。我想将文件中的所有 \r\n 换行符替换为 \n 换行符(大约 2*10^5 替换)。但是,我知道的唯一方法是使用 Notepad++ 来执行此操作,它在替换此文件中的所有内容时挂起。还有哪些可用的方法?
Avinash
Asked:
2020-05-21 04:37:58 +0800 CST
我有一个包含以下数据的 excel 文件。
+-------+----------+-------------------------+-----------+
| ID | Material | Description | Attribute |
+-------+----------+-------------------------+-----------+
| 10189 | Plate | Dia.650mm 3-blade | TK-BL |
+-------+----------+-------------------------+-----------+
| 11189 | Nut | MatType:A,C,M | TK-OP |
| | | Drive:HollowShaft | |
| | | Seal:PreparedForWelding | |
+-------+----------+-------------------------+-----------+
| 12189 | Screw | Wave1Batch1 | TK-MJ |
+-------+----------+-------------------------+-----------+
| 13189 | Bolt | 387L-2MM | TK-MK |
+-------+----------+-------------------------+-----------+
我必须将其转换为文本文件(制表符分隔)。所以当我将它保存为文本文件时,它保存为
ID Material Description Attribute
10189 Plate Dia.650mm 3-blade TK-BL
11189 Nut MatType:A,C,M
Drive:HollowShaft
Seal:PreparedForWelding TK-OP
12189 Screw Wave1Batch1 TK-MJ
13189 Bolt 387L-2MM TK-MK
由于描述中有新行,因此在转换时将其视为下一行。如何避免这种情况?我的 excel 中有 1000 个与此类似的值。我尝试替换\n
为|
描述列,但它显示 excel 找不到匹配项。请提出一些解决方案来避免这种情况。
a3nm
Asked:
2020-04-27 05:53:59 +0800 CST
在我的系统 (Debian) 提供的 telnet 上,换行符 ( \n
) 似乎被翻译成 CRLF ( \r\n
)。具体来说,如果我运行,例如,netcat -l -p 3334 > file
并echo a | telnet localhost 3334
在另一个终端中运行,那么 do hexdump file
,我得到:
0000000 0d61 000a
0000003
这是a\r\n
小端序,即a
后跟CRLF。
然而,手册页telnet
说,关于crlf
切换:
如果为 TRUE,则回车将作为 <CR><LF> 发送。如果这是 FALSE,则回车将作为 <CR><NUL> 发送。此切换的初始值为 FALSE。
所以我希望看到回车作为 CR 发送,然后是 NUL。为什么这不是我观察的原因?
(请注意,我没有/etc/telnetrc
or ~/.telnetrc
。此外,相比之下,在我的系统上,netcat
(当用作客户端时)将换行符作为 LF ( \n
) 发送,除非-C
使用该选项。)
Elisha Habinsky
Asked:
2019-12-30 03:07:27 +0800 CST