Linux 指定したファイルまたはディレクトリ以外を削除する

Linux 指定したファイルまたはディレクトリ以外を削除する

Linuxで、指定したファイルまたはディレクトリ以外を削除する手順を記述してます。

環境

  • OS Rocky Linux release 8.4 (Green Obsidian)
  • shell: /bin/bash

指定したファイルまたはディレクトリ以外を削除

指定したファイルまたはディレクトリ以外を削除するには、「rm」コマンドで「!(条件)」を使用します。

実際に以下の構成のディレクトリで拡張子が「.txt」のもののみを残して削除してみます。

tree

<出力結果>
.
├── Hello.txt
├── bar
├── foo.txt
├── hoge.txt
├── huga
├── index.html
└── test.txt

2 directories, 5 files

削除します。
※以下を実行すると削除されるので気をつけて下さい。

rm -rf !(*.txt)

確認してみます。

tree

<出力結果>
.
├── Hello.txt
├── foo.txt
├── hoge.txt
└── test.txt

0 directories, 4 files

拡張子が「.txt」以外のものが削除されていることが確認できます。