フォルダーとそのサブフォルダー内で拡張子のないすべてのファイルを検索して削除する


16

約500個のサブディレクトリのないフォルダーがあります。そこにはたくさんのゴミがありますので、片付けたいです。

次のコマンドを使用して、画像などの不要な特定のファイルタイプを既に削除しました。

find . -mindepth 1 -iname "*.jpg" -type f -delete

ただし、拡張子のないすべてのファイルを削除するようになりました。「Shopping list.txt」に代わる「Shopping list」などのファイル

次のコマンドを試しましたが、うまくいきませんでした。

find . -mindepth 1 ! -iname "*.*" -type f -delete

回答:


20

これを試して:

find . -type f  ! -name "*.*"  -delete

ただし、上記では.、たとえばで終わる名前のファイルは削除されないことに注意してくださいfoo.。それらも削除するには、代わりにこれを使用します:

find . -type f  ! -name "*.?*" -delete

2番目のコマンドは次の質問でした。本当にありがとう!find . -type f ! -name "*?.*" -delete「.trash」などのファイルを削除するために入力することもできます。心配しないでください-それは私のホームディレクトリではなかったので、設定ファイルを失いませんでした。
etsnyman

5
@etsnyman -deleteオプションなしでコマンドを最初にテストする方が良い!
ラドゥラデアヌ

@etsnymanではなく、ドットで始まるファイルを削除するにfind . -type f -name ".*" -deleteは、最後のコメントにあるファイルを使用すると、拡張子のないファイルも削除されます。そして、ラドゥが言ったこと!最初にテストしてください!
テルドン

RaduRădeanu私は実際に空のファイル...とダミーディレクトリに最初にそれをテスト@
etsnyman

@terdon 2番目のコマンドで疑問符は何を意味しますか?
アビナッシュラジ

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.