Saya ingin menghapus file yang lebih besar dari 2MB dalam folder tertentu. Jadi saya berlari:
find . -size +2M
Dan saya mendapat daftar dua file
./a/b/c/file1
./a/f/g/file2
Jadi saya jalankan:
find . -size +2M -exec rm ;
dan saya mendapatkan pesan kesalahan Find: missing argument to -exec
Saya memeriksa sintaks di halaman manual dan dikatakan -exec command ;
Jadi alih-alih saya coba
find . -size +2M -exec rm {} +
Dan itu berhasil. Saya mengerti bahwa {} membuatnya mengeksekusi perintah seperti rm file1 file2
bukan rm file1; rm file2;
.
Jadi mengapa yang pertama tidak berhasil?
MENJAWAB:
Saya kira saya hanya perlu RTFM beberapa kali untuk akhirnya mengerti apa yang dikatakannya. Meskipun contoh pertama tidak menunjukkan {}, kurung diperlukan dalam semua kasus. Dan kemudian tambahkan \; atau + tergantung pada metode yang diinginkan. Jangan hanya membaca tajuknya. Baca deskripsi juga. Oke.