Ter*_*ice 4 osx text-processing newlines
bash, osx 小牛队
我想用txt 文件中的0A
NUL (hex= 00
)替换 LF 字符 (hex= ) 。我可以使用grep
或tr
或其他东西来完成这个吗?我一直在使用 bbedit 来替换它们,但我想要一些我可以在 bash 中快速完成的事情。
Sté*_*las 14
是的,这是一份工作tr
:
tr '\n' '\0' < file > file.new
Run Code Online (Sandbox Code Playgroud)
或就地:
tr '\n' '\0' < file 1<> file
Run Code Online (Sandbox Code Playgroud)
在这里,文件被自己覆盖。这是有效的,因为我们总是在写入与读取一样多的数据(而不是覆盖我们尚未读取的数据)。如果tr
过程中断,可以再次启动以完成工作。
与 相反perl -pi 's/\n/\0/'
,它保留了文件的所有属性并且不会破坏硬链接或符号链接,并且不需要复制磁盘上的数据(除非下面有一些写时复制)。