Saya mencoba membuat find
mencetak daftar direktori yang berisi file selain gambar jpg, tetapi saya pikir saya menggunakan -exec
pilihan rusak. Lingkungan saya adalah Cygwin Bash.
$ find ! -iname "*.JPG$" -exec dirname
find: missing argument to `-exec'
$ find ! -iname "*.JPG$" -exec dirname {}
find: missing argument to `-exec'
$ find ! -iname "*.JPG$" -exec dirname ;
find: missing argument to `-exec'
$ find ! -iname "*.JPG$" -exec dirname ;
find: missing argument to `-exec'
$ find ! -iname "*.JPG$" -exec dirname {};
find: missing argument to `-exec'
Jawaban yang Diterima:
Sebuah -exec
perlu diakhiri dengan ;
atau +
. ;
menyebabkan perintah dieksekusi sekali per nama file yang ditemukan, sedangkan +
menyebabkan perintah dieksekusi sekali untuk semua nama file.
Berikut adalah contoh kerja:
find ! -iname "*.JPG" -exec dirname {} ;
Beberapa perbedaan mencolok dari upaya Anda:
- Harus ada spasi di antara
{}
dan;
;
harus diloloskan, karena merupakan metakarakter shell.- Seperti yang ditunjukkan @muru dalam jawabannya,
-iname
mengambil gumpalan, bukan ekspresi reguler
Hentikan/bunuh Proses Dari Baris Perintah Setelah Jangka Waktu Tertentu?
Bisakah Driver Nouveau Xorg Digunakan Untuk Workstation Multihead?