108
64

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

既存のファイルを空にするLinuxコマンド

Posted at
$ : > hoge.txt

echo '' > hoge.txtだと空文字に1B使うので気持ち悪い(というか空になっていない)。

と社内のWikiに書いたところコメントで大喜利が始まったので載せておきます。

/dev/nullをコピーする

$ cp /dev/null hoge.txt

なるほど、nullをコピーするのか。

rmtouchをつなげる

$ rm hoge.txt && touch hoge.txt

これはもはや。。と思いましたが

Explicit is better than implicitな思想の人は好きそうですね
(パーミッション気にかけないと初期化されますが)

という意見も寄せられました。
確かに明示的なので見たら何やってるのかすぐわかります。

seddコマンドで中身を削除する

$ sed -i '' -e 'd' hoge.txt
# macだと上書き保存のときにバックアップの拡張子指定がいるので、空っぽにするとバックアップを作らない

truncateコマンド

gnuにまさしくそのためのソフトウェアであるtruncateがあります
https://linuxjm.osdn.jp/html/GNU_coreutils/man1/truncate.1.html

上記のようなコメントもいただきました。
コマンドとしては下記です。

$ truncate hoge.txt --size 0

echo-nオプションで空行の末尾の改行を省略する

$ echo -n > hoge.txt

以上です。

こうやってたくさんコメントを貰えるのはとても参考になりますしありがたいです。

108
64
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
108
64

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?