回答:
まず、空のディレクトリを削除する必要は通常ないことに注意してください。一部のサービスまたはアプリケーションには、特定のディレクトリが存在する必要さえあります。あなたがやっていることに注意してください。
find
Terminal.appから実行する場合、空のフォルダーをでリストできます:
find . -type d -empty
デフォルトでfind
はファイルとフォルダをリストしますが、ここ-type d
ではディレクトリに制限し、-empty
オプションは空のディレクトリのみを表示します。これにより、ホームディレクトリ(または略して)から派生するすべてのフォルダーが再帰されます。これをファイルシステム全体に展開するには、次を使用します。/Users/your-username/
~
find / -type d -empty
ここで、/
Mac OS Xファイルシステムのルートを示します。もちろん、他の開始点を使用することもできます。たとえば、外部ディスクを;の下にマウントします。/Volumes/your-disk-name
find /Volumes/your-disk-name -type d -empty
ここで、find
出力を削除する場合は-delete
、次のように単純に追加します。
find . -type d -empty -delete
注:これは確認を求めません。削除できるすべてのディレクトリ、つまり、削除する権限があるディレクトリを削除します。彼らはゴミ箱に移動されませんが、永遠に消えます。削除する前に確認する場合は、コマンドを次のように変更します。
find . -type d -empty -exec rm -ri '{}' \;
illegal option -- t
type
とempty
認識することはできないようです。
find
そうでやり直して、パスを必要としfind . -type d
、ないfind -type d
(GNUのために後者の作品find
)。
find
上記と同様の方法で実行できます)、次に推奨コマンドを使用して残りの空のディレクトリを削除します。
私はこれをより良く解決する小さな無料のプログラムを作成しました:
http://www.macupdate.com/app/mac/52551/find-empty-folders
このプログラムの利点は、明らかに空であるが目に見えない「.DS_Store」ファイルを含むフォルダーも検出することです。
また、見つかったアイテムをすぐにゴミ箱に移動することもできます。
find ~/Documents -type f -name 'Icon?' -print -delete;
この取り組みをさらに進めるには:
OCDへの道であり、APPオーバーロードになり、シンプルさを好むことにうんざりしているため、ドキュメントフォルダーを時々クリーンアップするために使用するスクリプトを作成しました。
これは、代替ソリューションを改善および提供するために作成されました。
最後に、@ kencheのアイコンファイルについては、フォルダーアイコンを変更していないため、Macには存在しないようですが、インスペクターで確認できます。画像を左上にドラッグすると、Icon^M
そのディレクトリにファイルが作成されます。
これらも見つけるには、次を実行します。
(あなたは偽陽性を見つけるならば、使用についてパラノイアであるべき:ctrl+ v ctrl+ mの代わりに?)
find ~/Documents -type f -name 'Icon?' -print;
# and to remove
find ~/Documents -type f -name 'Icon?' -print -delete;
前述の@slhckのように:サービスまたはアプリケーションの中には、特定のディレクトリが存在する必要があるものもあります。これはまた、DS_Store&アイコンファイルに適用され、PLEASEあなたがやっていることに注意してください。また、注:このスクリプトは確認を求めません。可能なすべてのディレクトリを削除します。すなわち、あなたが削除する許可を持っているもの。彼らはゴミ箱に移動されませんが、永遠に消えます。
#!/bin/bash
# =============================================================================
# MAC OSX HIGH SIERRA 10.13.4 (17E199)
# Terminal: Version: 2.8.2 64-Bit (Intel): Yes
# Terminal Location: /Applications/Utilities/Terminal.app
# =============================================================================
# Terminal CLEAN UP YOUR DOCUMENTS FOLDER.
# =============================================================================
# START WHAT IS BELIEVED TO BE EMPTY NOW.
# =============================================================================
echo 'Searching Documents for empty folders...'
find ~/Documents -type d -empty;
# =============================================================================
# SHOW & THEN REMOVE ALL MAC OS DS_Store FILES
# =============================================================================
echo 'Searching Documents for DS_Store files...'
find ~/Documents -type f -name ".DS_Store" -print;
echo 'Removing DS_Store files...'
find ~/Documents -type f -name ".DS_Store" -print -delete;
# =============================================================================
# SHOW & THEN REMOVE ALL MAC OS ZERO SIZED FILES
# =============================================================================
echo 'Searching Documents for ZERO file sized files...'
find ~/Documents -type f -empty;
echo 'Removing ZERO file sized files...'
find ~/Documents -type f -empty -delete;
# =============================================================================
# SHOW & THEN REMOVE Icon^M FILES
# USE THE ? MARK FOR EASE OF USE YOU CAN ALSO SUB 'CTRL + V & CTRL + M' FOR ^M
# =============================================================================
echo 'Searching Documents for Icon files...'
find ~/Documents -type f -name 'Icon?' -print;
echo 'Removing Icon files from Documents...'
find ~/Documents -type f -name 'Icon?' -print -delete;
# SEEMINGLY THE SAME AS
# find ~/Documents -type f -size 0 -print
# find ~/Documents -type f -size 0 -print -delete
# =============================================================================
# SHOWCASE NEW FOUND EMPTY FOLDERS
# =============================================================================
echo 'Showcasing new result of existing and new found empty folders...'
find ~/Documents -type d -empty;
echo 'Deleting result of empty folders...'
find ~/Documents -type d -empty -delete;
echo 'Showcasing the removal of said, 'empty folders'...'
find ~/Documents -type d -empty;
スクリプトの終わり。
.DS_Storeのみを含むすべてのフォルダーを再帰的に削除する方法はありますか?
「.DS_Store」のみを含むフォルダーとサブフォルダーを検索します