Saya memiliki file yang berisi nama file. Sebagai contoh:
/tmp/list.txt
(itu dengan spasi di awal setiap baris):
/tmp/file.log
/app/nir/home.txt
/etc/config.cust
Saya ingin, menggunakan satu baris, untuk memindahkan semua file yang tercantum dalam /tmp/list.txt
untuk/app/dest
Jadi harus seperti ini:
cat /tmp/list.txt | xargs mv /app/dest/
Dengan asumsi nama file Anda relatif waras (tidak ada baris baru atau karakter aneh):
Untuk berurusan dengan nama file aneh (rusak jika nama file memiliki baris baru):
sumber
cp -Hr
tetapi saya tidak tahu apakah OSXcp
mendukungnya.sumber
Xargs murni membaca langsung dari file
edit 1 - setelah komentar @Anthon di bawah,
sumber
-i
sudah usang, dan itu, atau itu pengganti -I menyiratkan-l
/--max-lines=1
. Dan itu menyebabkanmv
dieksekusi untuk setiap file secara terpisah.(spasi pada awal diabaikan)
sumber