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,
-inamemengambil gumpalan, bukan ekspresi reguler
Hentikan/bunuh Proses Dari Baris Perintah Setelah Jangka Waktu Tertentu?
Bisakah Driver Nouveau Xorg Digunakan Untuk Workstation Multihead?