bash、osx mavericks
LF文字(hex = 0A
)NUL(hex = 00
)txtファイル。 grep
またはtr
などを使用してこれを実現できますか?私はbbeditを使用してそれらを置き換えてきましたが、bashですばやく実行できるものが欲しいです。
はい、それはtr
の仕事です。
tr '\n' '\0' < file > file.new
またはインプレース:
tr '\n' '\0' < file 1<> file
ここでは、ファイルはそれ自体の上に書き込まれます。これは、私たちが常に読んでいるのと同じ量のデータを書き込んでいるために機能します(そして、まだ読んでいないデータを上書きしません)。 tr
プロセスが中断された場合、ジョブを終了するためにプロセスを再開できます。
に反して Perl -pi 's/\n/\0/'
、ファイルのすべての属性を保持し、ハードリンクやシンボリックリンクを壊さず、ディスク上のデータを複製する必要はありません(コピーオンライトが実行されている場合を除く)。