GNU/Linux >> Linux の 問題 >  >> Linux

Linuxで1つの特定のファイルを除いてフォルダ内のすべてのファイルを削除する方法

フォルダに100以上のファイルがあるとしましょう。 1つまたはいくつかの特定のファイルを除いてそれらすべてを削除したい。どうしますか?保持したいファイルをコピーして別の場所に保存してから、残りのファイルまたはフォルダー全体を削除できます。しかし、待ってください、私はこれを行う最も簡単な方法を知っています。 1行のコマンドで、1つの特定のファイルまたは特定の種類のファイルを除いて、古いファイルをすべて削除できます。方法を知りたいですか?続きを読む。

特定の1つのファイルを除くフォルダ内のすべてのファイルを削除する

次の例を想像してみましょう。 10個のテキストファイルを含む「test」というフォルダがあります。

$ ls test/

サンプル出力:

file10.txt file2.txt file4.txt file6.txt file8.txt
file1.txt file3.txt file5.txt file7.txt file9.txt

ここで、 file10.txtを除くこのフォルダ内のすべてを削除したいと思います。 。

これを行うための多くのコマンドがあるかもしれません。しかし、これらは私が知っている5つのコマンドです。

まず、テストに移動します フォルダ:

$ cd test/

そして、次のコマンドを実行します:

$ rm -f !(file10.txt)

または、次を使用します:

$ rm !(file10.txt)

上記のコマンドは、 file10.txtを除くテストフォルダ内のすべてのファイルを削除します ファイル。

検索コマンドを使用することもできます 特定のもの以外のすべてを削除します。次のコマンドは、file10.txtを除く現在のフォルダ(この場合はテスト)内のすべてのファイルを削除します。

$ find . ! -name file10.txt -delete

上記の例でわかるように、テストフォルダーには同じタイプのファイル(.txtファイル)が含まれています。フォルダに.mp3、.doc、.pdfなどのさまざまな種類のファイルがある場合はどうしますか?特定の種類のファイルをフォルダに保存し、他のすべてを削除するのも簡単です。

テストフォルダに、3つの.txtファイル、3つの.mp3ファイル、3つの.docファイル、および1つの.pdfファイルが含まれているとします。

$ ls test/

出力例:

total 0
-rw-r--r-- 1 sk users 0 Mar 22 15:51 file10.pdf
-rw-r--r-- 1 sk users 0 Mar 22 15:51 file1.txt
-rw-r--r-- 1 sk users 0 Mar 22 15:51 file2.txt
-rw-r--r-- 1 sk users 0 Mar 22 15:51 file3.txt
-rw-r--r-- 1 sk users 0 Mar 22 15:51 file4.mp3
-rw-r--r-- 1 sk users 0 Mar 22 15:51 file5.mp3
-rw-r--r-- 1 sk users 0 Mar 22 15:51 file6.mp3
-rw-r--r-- 1 sk users 0 Mar 22 15:51 file7.doc
-rw-r--r-- 1 sk users 0 Mar 22 15:51 file8.doc
-rw-r--r-- 1 sk users 0 Mar 22 15:51 file9.doc

上記の出力のように、テストフォルダーには4つの異なるタイプのファイル(pdf、txt、mp3、doc)があります。 .docを含むファイルを保持したい 拡張し、他のすべてを削除します。これを行う方法は次のとおりです:

$ cd test/
$ rm !(*.doc)

次に、コマンドを使用してファイルの内容を一覧表示します。

$ ls

出力例:

file7.doc  file8.doc  file9.doc

上記のコマンドは、拡張子が .docのファイルを除くフォルダ内のすべてを削除します 。

同様に、2つ以上の特定の種類のファイルを保持し、それ以外はすべて削除できます。たとえば、次のコマンドは .docを含むファイルを保持します および.mp3 拡張機能。

$ rm !(*.doc|*.mp3)

これで、mp3ファイルとdocファイルが削除されていないことがわかります。

$ ls

出力例:

file4.mp3  file5.mp3  file6.mp3  file7.doc  file8.doc  file9.doc
ダウンロード -無料ガイド:「GNU/LinuxBasic」

これらは10種類のファイルです。何百ものファイルがあることを想像してみてください。各ファイルタイプを見つけて手動で削除するのは難しいでしょう。このトリックはたった1、2秒で仕事をします。

これらのコマンドを使用するときは、十分に注意してください。重要なファイルが誤って削除されないように、ファイルを削除する前にディレクトリパスを再確認してください。

推奨される読み物:

  • Linuxでファイルやフォルダが誤って削除または変更されないようにする
  • Linuxでの偶発的な削除からファイルを保護する簡単な方法

お役に立てれば。このガイドがお役に立てば、ソーシャル、プロフェッショナルネットワークで共有し、サポートしてください。

来るより良いもの。しばらくお待ちください!

乾杯!


Linux
  1. Linuxですべてのディレクトリのファイルを再帰的に検索する方法

  2. 特定のフォルダから1つの名前付きファイルを除くすべてのファイルを削除するにはどうすればよいですか?

  3. Linuxで特定の文字列で始まるすべてのファイルを削除する方法

  1. 1つのファイルを除くすべてのファイル/ディレクトリを削除しますか?

  2. Unix / Linuxで特定のユーザーが所有するすべてのファイルを見つける方法は?

  3. Linux ですべてまたは特定のファイルを gzip する方法

  1. 1 つを除くすべてのファイルを移動する

  2. Linux で特定のテキストを含むすべてのファイルを見つけるにはどうすればよいですか?

  3. 1 つのテキスト ファイルを複数の *.txt ファイルに分割する方法は?