フォルダーではなく、ディレクトリおよびサブディレクトリ内のファイルを削除するにはどうすればよいですか?


5

フォルダーではなく、ディレクトリおよびサブディレクトリ内のファイルを削除するにはどうすればよいですか?

Linuxコマンドラインでこれを実行できるようにする必要があります。

rm

回答:


2

トラディショナル find

を使用しfindます。現在のフォルダー内のすべてのファイル(ディレクトリではない)を検索します。間違ったものを削除しないようにしたい場合は、最初にこれを呼び出してください。

find . -type f

次に、execオプションを使用して、これらのファイルで何かを行うことができます-この場合はファイルを作成しますrm

find . -type f -exec rm {} \;

find 配管された xargs

find出力を使用してにフィードすることもできxargsます。これは、ファイルパスをrmコマンドの引数として使用します。

find . -type f -print0 | xargs -0 rm

この-print0オプションは、空白を含むファイル名で問題が発生しないようにするために必要です。一般的に、このオプションなしでそのようなものを使用しないでください、それは非常に安全ではありません。

GNU find

GNU findにはdeleteオプションもあります。これはexec、で新しいプロセスを分岐する必要がないため、方法よりも効率的ですrm。また、ファイルパスを検討する場合の方が安全です。

find . -type f -delete

findのGNUマニュアルには、ファイルの削除に関する非常に広範なセクションがあります


GNU findは、ubuntuで非常に簡単に動作します。あなたの投稿に感謝:)
レイエス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.