Text-Processing

用 nul 替換換行符

  • May 2, 2019

bash,osx 小牛隊

我想在 txt 文件中將 LF 字元 (hex= 0A) 替換為 NUL (hex= )。00我可以使用greportr或其他東西來完成此任務嗎?我一直在使用 bbedit 來替換它們,但我想要一些我可以在 bash 中快速完成的事情。

是的,這是一份工作tr

tr '\n' '\0' < file > file.new

或就地:

tr '\n' '\0' < file 1<> file

在這裡,文件被自己覆蓋。這很有效,因為我們總是寫入和讀取一樣多的數據(而不是覆蓋我們尚未讀取的數據)。如果該tr過程被中斷,它可以重新啟動以完成工作。

相反perl -pi 's/\n/\0/',它保留了文件的所有屬性,不會破壞硬連結或符號連結,也不需要複製磁碟上的數據(除非下面有一些寫時複製)。

引用自:https://unix.stackexchange.com/questions/434530