Ubuntuで既存ファイルの中身を空にする方法は、いくつかあります。ここでは、そのうちの5つの方法を紹介します。
っていう、いつものメモです。しかし、こういったことすら知らないので日曜大工以下な野郎だなと実感しています。本当に、このような体たらくでDsicordのbotが正常に動いているなんて奇跡です。神は存在する。
1. /dev/nullをコピーする
cp /dev/null ファイル名
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 Ubuntu