ワイルドカードを使用して複数のファイルを削除する
多くの場合、一度に複数のファイルを削除する必要があります。Linux では、この作業を簡単にするためにワイルドカードが用意されています。ワイルドカードは、ファイル名内の 1 つまたは複数の文字を表すことができる特殊文字です。
一般的なワイルドカードを見てみましょう。
*(アスタリスク):任意の数の文字(0 文字を含む)に一致します。
?(疑問符):正確に 1 文字に一致します。
[](角括弧):括弧内の任意の文字に一致します。
まず、old_predictions ディレクトリ内の現在のファイルを確認しましょう。
ls ~/project/old_predictions
以下のように表示されるはずです。
prediction-02.txt prediction-03.txt prediction-04.txt prediction-05.txt
次に、prediction-02.txt、prediction-03.txt、および prediction-04.txt のファイルを一度に削除しましょう。波括弧 {} を使用したパターンマッチングを使って、複数のオプションを指定することができます。
rm ~/project/old_predictions/prediction-{02..04}.txt
このコマンドでは、範囲表記 {02..04} を使用しており、これは 02, 03, 04 に展開されます。シェルはこのコマンドを実行する前に展開し、実質的に以下のコマンドを実行します。
rm ~/project/old_predictions/prediction-02.txt ~/project/old_predictions/prediction-03.txt ~/project/old_predictions/prediction-04.txt
もう 1 つの一般的な方法は、アスタリスクのワイルドカードを使用することです。たとえば、すべての予測ファイルを削除したい場合は、以下のようにできます。
## これは例です - 現時点ではこのコマンドを実行しないでください
## rm ~/project/old_predictions/prediction-*.txt
ディレクトリ内に残っているファイルを確認しましょう。
ls ~/project/old_predictions
これで、以下のように表示されるはずです。
prediction-05.txt
これは、3 つのファイルが正常に削除され、prediction-05.txt のみが残っていることを示しています。