やりたいこと
プログラムのテストをしており、実行結果をログに出力している。
ログは追記で書き込まれるが、プログラムの実行結果が分かりにくくなってしまうため、ファイルを空に更新したい。
方法
truncateコマンドを使用する。
サンプルには以下を使用する。
% echo -e "0123456789\nabcdefghij" > truncate.txt
% cat truncate.txt 1234567890 abcdefghij % ls -lha truncate.txt -rw-rw-r-- 1 hoge hoge 22 Mar 22 10:57 truncate.txt
サイズを0に指定してtruncateを実行する。
% truncate --size 0 truncate.txt
% cat truncate.txt //出力なし % ls -lha truncate.txt -rw-rw-r-- 1 hoge hoge 0 Mar 22 10:57 truncate.txt
ファイルサイズを0にすることができた。
size
変更後のファイルサイズを指定するオプション。
指定したサイズが対象ファイルより大きい場合、NULL文字(^@)で埋められる。
% cat -A truncate.txt 0123456789$ abcdefghij$ ^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@
catの-Aオプションを使用すると、制御コードや改行コードを表示できる。