xargs
umumnya digunakan untuk ini, dan mv
di Linux memiliki -t
opsi untuk memfasilitasi itu.
find ./ -name '*article*' | xargs mv -t ../backup
Jika find
Anda mendukung -exec ... \+
Anda juga bisa melakukannya
find ./ -name '*article*' -exec mv -t ../backup {} \+
-t
opsi adalah ekstensi GNU, jadi tidak portabel untuk sistem yang tidak memiliki GNU coreutils
(meskipun setiap Linux yang tepat yang pernah saya lihat memilikinya, dengan kemungkinan pengecualian Busybox). Untuk portabilitas POSIX lengkap, tentu saja mungkin untuk memutar pengganti Anda sendiri, mungkin seperti
find ./ -name '*article*' -exec sh -c 'mv "[email protected]" "$0"' ../backup {} \+
di mana kami tanpa malu-malu menyalahgunakan fakta nyaman bahwa argumen pertama setelah sh -c 'commands'
berakhir sebagai parameter "nama skrip" di $0
sehingga kita bahkan tidak perlu shift
itu.
Mungkin lihat juga https://mywiki.wooledge.org/BashFAQ/020
find ./ -name '*article*' -exec mv {} ../backup \;
ATAU
find ./ -name '*article*' | xargs -I '{}' mv {} ../backup
Bagaimana cara menentukan file kunci untuk sshfs?
Bagaimana cara cat <<EOF >> file yang berisi kode?