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

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

この質問にはすでに回答があります :ディレクトリ内の拡張子がpdfのファイルを除くすべてのファイルを削除します

(13件の回答)
5年前に閉鎖されました。

これが状況です。

拡張子の異なる多くのファイルを含むディレクトリがあります。特定の名前のファイルを除くすべてのファイルを削除したい。

これは、GUIを使用して、すべてを選択して ctrlを押すことで簡単に実行できます。 問題のファイルの選択を解除します。

それはまさに私が望んでいることですが、コマンドラインからどのようにそれを行うことができますか?

例: dirAには次のファイルが含まれています:

a.txt
b.txt
c.php
d.html
a.db
b.db
e.html

a.txtという名前のファイルだけを残してすべてのファイルを削除したい 。

ベストアンサー

この簡単でシンプルな優れたコマンドが付属しています:

rm !(a.txt)

使用できます!否定として

最初にエコーを使用してグロブをテストします。つまり

echo !(a.txt)

動作しない場合は、bash

でこれを有効にする必要があるかもしれません
shopt -s extglob

両方のa.txtを保持したい場合 およびb.txt!(a.txt|b.txt)を使用できます または!([ab].txt)

編集:

rmを作成するには 再帰的に作業するには、-rを追加するだけです。 のように

rm -r !(a.txt)

また、フォルダを操作しています。 a_dirのように、名前をdir名に変更するだけです。

rm -r !(a_dir)

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

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

  3. 特定の名前のフォルダーを除く、フォルダー内のすべてのフォルダーを削除します

  1. ディレクトリ内のすべてのファイルを削除する3つの方法(拡張子が付いた1つまたは少数のファイルを除く)

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

  3. すべてのファイル(非表示を含む)をあるディレクトリから別のディレクトリに移動するにはどうすればよいですか?

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

  2. 最後の(最新の)20を除くフォルダ内のすべてのファイルを削除しますか?

  3. 特定のフォルダ内の特定の拡張子を持つすべてのファイルを削除するにはどうすればよいですか?