hello

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

Ubuntuで既存ファイルの中身を空にする方法は、いくつかあります。ここでは、そのうちの5つの方法を紹介します。

っていう、いつものメモです。しかし、こういったことすら知らないので日曜大工以下な野郎だなと実感しています。本当に、このような体たらくでDsicordのbotが正常に動いているなんて奇跡です。神は存在する。

1. /dev/nullをコピーする

cp /dev/null ファイル名

このコマンドは、/dev/nullという特別なファイルをファイル名のファイルにコピーします。/dev/nullは、入力されたデータをすべて無視するファイルです。そのため、このコマンドを実行すると、ファイルの中身はすべて空になります。

2. rmとtouchをつなげる

rm -f ファイル名 && touch ファイル名

このコマンドは、rmコマンドでファイル名のファイルを削除し、touchコマンドで空のファイルを作成します。

3. sedのdコマンドで中身を削除する

sed -i '/^$/d' ファイル名

このコマンドは、ファイル名のファイルの中身をすべて、改行で始まる行に置き換えます。つまり、ファイルの中身はすべて空になります。

4. truncateコマンド

truncate -s 0 ファイル名

このコマンドは、ファイル名のファイルのサイズを0に変更します。つまり、ファイルの中身はすべて空になります。

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

echo -n > ファイル名

このコマンドは、ファイル名のファイルに空行を出力します。ただし、-nオプションを指定することで、空行の末尾の改行を省略します。つまり、ファイルの中身はすべて空になります。

それぞれの方法のメリット・デメリット

それぞれの方法には、メリット・デメリットがあります。

/dev/nullをコピーする

  • 最も簡単な方法
  • ファイル名を指定しやすい
  • ファイルの属性は保持される

rmとtouchをつなげる

  • ファイル名を指定しやすい
  • ファイルの属性は保持される

sedのdコマンドで中身を削除する

  • ファイル名を指定しやすい
  • ファイルの属性は保持される

truncateコマンド

  • 最も高速な方法
  • ファイルの属性は保持されない

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

  • 最も高速な方法
  • ファイルの属性は保持されない

まとめ

Ubuntuで既存ファイルの中身を空にする方法は、いくつかあります。それぞれの方法には、メリット・デメリットがあるので、用途に合わせて使い分けてください

わたしの推しはtruncate -s 0 ファイル名です。

Tagged