Text-Processing
用 nul 替換換行符
bash,osx 小牛隊
我想在 txt 文件中將 LF 字元 (hex=
0A
) 替換為 NUL (hex= )。00
我可以使用grep
ortr
或其他東西來完成此任務嗎?我一直在使用 bbedit 來替換它們,但我想要一些我可以在 bash 中快速完成的事情。
是的,這是一份工作
tr
:tr '\n' '\0' < file > file.new
或就地:
tr '\n' '\0' < file 1<> file
在這裡,文件被自己覆蓋。這很有效,因為我們總是寫入和讀取一樣多的數據(而不是覆蓋我們尚未讀取的數據)。如果該
tr
過程被中斷,它可以重新啟動以完成工作。相反
perl -pi 's/\n/\0/'
,它保留了文件的所有屬性,不會破壞硬連結或符號連結,也不需要複製磁碟上的數據(除非下面有一些寫時複製)。