web-dev-qa-db-ja.com

Macのコマンドラインから現在のフォルダーとすべてのサブフォルダーの.DS_STOREファイルを削除する

現在のフォルダーとすべてのサブフォルダーでfind . -name ".DS_STORE"を使用して すべての.DS_STOREファイルを検索 できることを理解しています。しかし、それらをコマンドラインから同時に削除するにはどうすればよいですか?すべてのフォルダーに切り替えて、1つずつ削除するのは本当に面倒です。

30
Aaron Zeng

findでできます。 -deleteを追加するだけです:

find . -name ".DS_Store" -delete
77
chaos
find . -name ".DS_Store" -print -delete
6
Kirill Malakhov

拡張グロビング(**):

rm -v **/.DS_Store

zsh、bash 4、および同様のシェル(有効になっていない場合は、shopt -s globstar)。

0
kenorb

テキストエディタで新しいファイルを作成し、次のテキストをコピーして貼り付け、「。sh」ファイル拡張子で保存してから、ターミナルでファイルを開きます。テキストエディタが未加工のテキストを実際に保存し、ファイルをリッチテキスト形式ファイルまたはファイル内の追加情報を含む他のテキストファイル形式として保存していないことを確認してください。

#!/bin/bash
echo -e "\nDrag a folder here and press the Enter or Return keys to delete all files whose names begin with a dot in its subfolders:\n"
read -p "" FOLDER
echo -e "\nThe following files will be deleted:\n"
find $FOLDER -name ".*"
echo -e "\nDelete these files? (y/n): "
read -p "" DECISION
while true
do
    case $DECISION in
        [yY]* ) find $FOLDER -name ".*" -delete
        echo -e "\nThe files were deleted.\n"
        break;;
        [nN]* ) echo -e "\nAborting without file deletion.\n"
        exit;;
        * ) echo -e "\nAborting without file deletion.\n"
        exit;;
    esac
done
0
Sparky

.DS_Storeファイルを再帰的に削除する方法は次のとおりです。

ターミナルを開くコマンドラインで、すべてのファイルとフォルダーがあるフォルダーの場所に移動します。cd to/your/directory

最後に、以下のコマンドを入力します:-find -name '.DS_Store' -type f -delete

Enterを押す

乾杯!!

0
Tejinder