"find: argumen yang hilang pada `-exec &" saat menggunakan "-exec rm -f {}\"
Saya menjalankan perintah ini:
~/shell_temp$ find . -type f -name "IMAG1806.jpg" -exec rm -f {}\
saya mendapat keluaran di bawah ini:
> IMAG1806.jpg
Error:
find: missing argument to `-exec'
apa perintah yang tepat untuk menemukan file apa pun dari direktori saat ini dan menghapusnya dengan -exec
?
12
2
Anda melewatkan tanda
;
di bagian akhir (dan juga spasi di antara{}
dan;
). Perintah yang benar adalah:;
menunjukkan akhir dari predikat-exec
darifind
.Perhatikan juga bahwa kita telah menggunakan
\;
, yaitu\
di depan;
untuk menghindari interpretasi;
oleh shell, jika tidak, shell akan memperlakukan;
sebagai akhir dari keseluruhan perintahfind
danfind
akan memberikan kesalahan yang sama. Anda juga bisa menggunakan';'
sebagai pengganti\;
.Anda menggunakan
\
di akhir, ini mengindikasikan shell Anda akan terus mengambil input melaluiPS2
(ditunjukkan dengan>
), Anda mengetikkanIMAG1806.jpg
lagi, sehingga seluruh perintah menjadi:Seperti yang dapat Anda lihat, ini sama sekali bukan perintah yang valid dengan
IMAG1806.jpg
di bagian akhir, tidak ada penutup predikat-exec
dan tanpa spasi di antara{}
dan\;
.Anda dapat dengan mudah
Dari halaman manusianya: