ファイルの中身を空にするコマンド

ローカルのログファイルとかもさもさたまっていく。これをエディタで開いて消したり、一回ファイルを削除するのは面倒。ということで、ファイルを空にするコマンド(というかリダイレクト使っているだけ)をメモ。

$ > log.txt

$ echo "" > log.txt

追記

む。「echo ""」だと、ファイルに「""」って書き込まれてしまう。どうやって空文字列を表現すればいいんだ?

良く知られているように、
echo. → 空行を出力


じゃあ、こうか。

$ echo. > log.txt
$ wc log.txt
1 0 3


空行「半角スペース+改行」を出力するので厳密にはLinux の時と同じことができない。Linux の場合は完全に空にできる。
うーん。空のファイルとか、なんか空が出力されるようなものを使わないと無理かな〜。

追々記

id:zetamatta さんのコメントで「nul」というものを教えていただきました。

入出力に使用。
ここに出力したデータは、単純に捨てられる。
入力に使うと、何も入力されない(空っぽのファイルを読もうとするのと同じ)。


試してみる。

$ wc nul
0 0 0 nul


(・∀・)キタコレ!! ってことは最終的にWindows ではこれでできる。

$ cat nul > log.txt


コメントにあったように、type コマンドを使ってもできる。type コマンドはWindows でのcat。cygwin 入れてなくてcat が使えない人は「type」でいけますね!

ファイル内容の表示