Saya menjalankan perintah ini:
~/shell_temp$ find . -type f -name "IMAG1806.jpg" -exec rm -f {}\
saya mendapat output di bawah ini:
> IMAG1806.jpg
Error:
find: missing argument to `-exec'
apa perintah yang tepat untuk menemukan file dari direktori saat ini dan menghapusnya -exec
?
command-line
find
Akshay Patel
sumber
sumber
rm "IMAG1806.jpg"
? Itu di direktori yang sama, jadi Anda tahu apa namanya.-exec rm
cukup gunakan-delete
langsung.Jawaban:
Anda melewatkan a
;
di bagian akhir (dan spasi di antara{}
dan;
). Perintah yang benar adalah:;
menunjukkan akhir dari-exec
predikatfind
.Juga perhatikan bahwa kita telah menggunakan
\;
yaitu\
di depan;
untuk menghindari interpretasi;
oleh shell, jika tidak shell akan memperlakukan;
sebagai akhir dari seluruhfind
perintah danfind
akan membuang kesalahan yang sama. Anda juga dapat menggunakan';'
bukan\;
.Anda menggunakan
\
pada akhirnya, ini menunjukkan shell Anda akan terus mengambil input melaluiPS2
(ditunjukkan oleh>
), Anda mengetikIMAG1806.jpg
lagi, sehingga seluruh perintah menjadi:Seperti yang Anda lihat ini sama sekali bukan perintah yang valid dengan
IMAG1806.jpg
di akhir, tidak ada penutupan-exec
predikat dan tanpa spasi antara{}
dan\;
.sumber
;
di akhir" Terima kasih untuk ini, menghabiskan 10 menit pemecahan masalah sebelum aku menyadari aku sengaja telah diketik:
bukan;
, pada ini layar HD modern mudah untuk kehilangan ...Anda bisa saja
Dari halaman manual:
sumber