2015-05-27 17 views
15

'daki komut satırındaki tüm alt klasörlerdeki .DS_STORE dosyalarını silin. Geçerli klasörde ve tüm alt klasörlerde ile find all the .DS_STORE files arasındaki değerleri kullanabilirim. Ancak onları aynı anda komut satırından nasıl silebilirim? Tüm klasörler için ileri ve geri gitmek gerçekten rahatsız edici buldum ve tek tek silin.Geçerli klasörde ve Mac

Her türlü öneriniz için teşekkürler.

+0

kabul edilen cevap yorumumu Bkz. –

cevap

40

find bunu yapabilir. Sadece -delete ekleyin:

find . -name ".DS_Store" -delete 
+0

Dosya adının büyük/küçük harf duyarlı olması için ".DS_STORE" kullanılıyorsa, ". DS_Store" ** olması gerekir. –

+0

@AmrLotfy Bu aslında doğru değil, varsayılan mac dosya sistemi büyük/küçük harf duyarsız – Others

+1

Ekstra dikkat için, genellikle bu gibi dizinleri hariç tutuyorum: 'find. -name '.DS_Store' -type f -delete' – xApple

0

Ayrıca genişletilmiş kullanabilirsiniz (**) globbing:

zsh içinde
rm -v **/.DS_Store 

, bash 4 ve benzeri kabuklar (: shopt -s globstar etkin değilse, tarafından aktive).

0

Metin düzenleyiciyle yeni bir dosya oluşturun, aşağıdaki metni kopyalayıp yapıştırın ve ".sh" dosya uzantısıyla kaydedin, sonra dosyayı Terminal ile açın. Metin düzenleyicisinin aslında ham metni kaydettiğinden ve dosyayı bir Zengin Metin Biçimi dosyası olarak veya dosyadaki ek bilgileri içeren başka bir metin dosyası biçiminde kaydetmediğinden emin olun.

#!/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 
5
find . -name ".DS_Store" -print -delete 
+0

Bu bağlantı soruyu yanıtlayabilirken, cevabın temel kısımlarını buraya eklemek ve referans için bağlantı sağlamak daha iyidir. Bağlantılı sayfa değiştiğinde yalnızca bağlantı yanıtları geçersiz olabilir. - [Yorum Yaz] (/ review/düşük kaliteli yazılar/17012288) – kelin

+0

@kelin uh, bağlantı yokken bu nasıl bir bağlantıya cevap veriyor? – ppperry

+0

@ppperry, bu yorum otomatik bir mesajdır. Cevabını silmeye oy verdim, çünkü kabul edilene göre önemli bir şey eklemiyor. – kelin