Belirli bir klasör içinde 2 MB'tan büyük dosyaları silmek istedim. Ben de koştum:
find . -size +2M
Ve iki dosyanın bir listesini aldım
./a/b/c/file1
./a/f/g/file2
Sonra koşarım:
find . -size +2M -exec rm ;
ve hata mesajını alıyorum Find: missing argument to -exec
Man sayfasındaki sözdizimini kontrol ediyorum ve diyor ki -exec command ;
Bunun yerine deniyorum
find . -size +2M -exec rm {} +
Ve çalışıyor. {} Bunun yerine komutu rm file1 file2
yerine getirmesini sağlıyorum rm file1; rm file2;
.
Peki neden birincisi işe yaramadı?
CEVAP:
Sanırım nihayet ne söylediğini anlamak için birkaç kez RTFM'ye ihtiyacım vardı. İlk örnek {} göstermese de, tüm durumlarda diş telleri gereklidir. Ve sonra ya \; veya + istenen yönteme bağlı olarak. Sadece başlığı okumayın. Açıklamayı da okuyun. Anladım.