Saya memiliki direktori, dir1
yang berisi banyak file yang namanya diakhiri dengan .jpg
atau .png
. Saya ingin menyalin semua .png
file ke dir2
yang kosong.
Perintah ini berfungsi:
find dir1 -name '*.png' -exec cp {} dir2 ;
tetapi perintah ini tidak:
find dir1 -name '*.png' -exec cp {} dir2 +
find: missing argument to `-exec'
Saya juga mencoba:
find dir1 -name '*.png' -exec cp {} -t dir2 +
find: missing argument to `-exec'
dan:
find dir1 -name '*.png' -exec cp {} dir2 +
find: missing argument to `-exec'
Setelah melihat halaman ini, saya bahkan mencoba:
find dir1 -name '*.png' -exec cp {} dir2 {} +
find: Only one instance of {} is supported with -exec ... +
Halaman ini mengatakan bahwa:
-exec {} + telah ditambahkan di [versi] 4.2.12 pada tahun 2005
Versi find
. saya adalah 4.4.2.
Apa yang saya lakukan salah?
Jawaban yang Diterima:
Berkat 'steeldriver', saya menemukan bahwa jawabannya adalah karena spesifikasi POSIX melarang apa pun berada di antara {}
dan +
setelah -exec
.
Linux – Bagaimana Cara Berhenti Berbagi Jaringan Untuk Proses Saat Ini?
Instal Default Solaris (Alat pengguna)?