1. ホーム
  2. linux

[解決済み] LinuxのBashで複数のファイルを一度に削除するには?

2022-05-13 19:07:37

質問

Linux サーバーにこのようなファイルのリストがあります。

abc.log.2012-03-14
abc.log.2012-03-27
abc.log.2012-03-28
abc.log.2012-03-29
abc.log.2012-03-30
abc.log.2012-04-02
abc.log.2012-04-04
abc.log.2012-04-05
abc.log.2012-04-09
abc.log.2012-04-10

選択したログファイルを一つずつ削除していくのですが、その際、コマンド rm -rf を参照してください。

rm -rf abc.log.2012-03-14
rm -rf abc.log.2012-03-27
rm -rf abc.log.2012-03-28

選択したファイルを一度に削除できるような、他の方法はありますか?

どのように解決するのですか?

Bashはあらゆる種類のワイルドカードと拡張をサポートしています。

あなたの正確なケースを処理するのは ブレース展開 のようになります。

$ rm -rf abc.log.2012-03-{14,27,28}

上記の場合 に展開されます。 に展開され、3 つの引数をすべて持つ単一のコマンドとなり、タイプすることと同じになります。

$ rm -rf abc.log.2012-03-14 abc.log.2012-03-27 abc.log.2012-03-28

重要なのは、この展開がシェルによって行われることで、その前に rm がロードされる前に行われることに注意してください。