2016-06-19 22 views
0

指定したファイルを使用して作成したすべてのファイルとサブディレクトリを削除します。私は現在、私は二度、これらのコマンドを実行しますが、私は一度ソートに1つのファイルを残して作成されたすべてのファイルとディレクトリを削除したいときには、すべてのファイルとサブディレクトリを削除したファイルやディレクトリシェルスクリプトを削除するlinuxのディレクトリからファイルとサブディレクトリを削除する

find . ! -name file.txt -type d -exec rm -r {} + #this is for sub directories 
find . ! -name file.txt -type f -exec rm -f {} + #this is for files 

を削除するコマンドを使用しています。どんな助けも非常に高いです。 よろしく Jitendra

+0

私は質問を理解していません。具体的には、「指定したファイルを使用して作成した」と「一度に1つのファイルを並べ替える」ということはどういう意味ですか?あなたはあなたの望むコマンドの前後にディレクトリ/ファイル構造の例を追加できますか? –

+0

こんにちはベンジャミン、お返事ありがとうございます。ファイルには、抽出されたときにフォルダやサブディレクトリが作成されたSARの拡張子があります。また、一度にファイルとサブディレクトリを削除したいと思います。しかし、私は同じ時点で親ディレクトリ内のすべてのファイルの中の1つを削除するものではありません –

答えて

0

GNUはは、直接ファイルやディレクトリを削除できます:

find ! -name file.txt -delete 

それはfile.txtまでのディレクトリを削除することはできませんので、エラーメッセージを与えるだろうが、他のすべては、まだ削除されます。

、ファイルfile1.txtを維持したい場合は、file2.txt、そしてfile3.txtは、このような条件をチェーン:

find ! \(-name file1.txt -o -name file2.txt -o -name file3.txt \) -delete 
+0

応答Sapanoiaに感謝、私はDirectory1を持っているとしましょう。そのディレクトリ内には、以下に示す拡張子.tarファイルの9つのファイルhavinfがあります。 –

+0

すべての '.tar'ファイルを除外したい場合は、次のようなコマンドを使います:' find! -name '* .tar' -delete'。 – sapanoia

+0

Sapanoiaさん、こんにちは私は解決できませんでしたか?これで申し訳ありません。ディレクトリにファイルとサブディレクトリがほとんどないとしましょう。私はすべてのサブディレクトリ、いくつかのファイル名(file1、txt、file2.txt)を削除したいが、 'SAPCAR'は削除したくないそのディレクトリの別のファイル名である。私は何をすべきかお勧めしますか? –

関連する問題