untuk exmaple, gunakan perintah
cat foo.txt | xargs -I{} -n 1 -P 1 sh -c "echo {} | echo"
The foo.txt
berisi dua baris
foo
bar
Perintah di atas tidak mencetak apa pun.
untuk exmaple, gunakan perintah
cat foo.txt | xargs -I{} -n 1 -P 1 sh -c "echo {} | echo"
The foo.txt
berisi dua baris
foo
bar
Perintah di atas tidak mencetak apa pun.
cat foo.txt | xargs -J % -n 1 sh -c "echo % | bar.sh"
Bagian yang sulit adalah bahwa xargs melakukan pemanggilan subkulit implisit. Di sini dia dipanggil secara eksplisit dan pipa tidak menjadi bagian dari conveyor induk
cat foo.bar | wc -l
dancat foo.bar | xargs -J % -n 1 sh -c "echo % | wc -l"
-I
alih-alih-J
; tidak ada-J
pilihan untuk xargsxargs
memiliki-J
opsi yang setara dengan-i
linuxxargs
-J
tidak didefinisikan dalam POSIX tetapi-I
adalah dan memiliki penggunaan yang berbeda dari GNU.)Jika Anda ingin memproses semua baris foo.txt, Anda harus menggunakan loop. Gunakan
&
untuk menempatkan proses ke latar belakangJika input Anda berisi spasi untuk sementara, setel pemisah bidang internal ke baris baru
sumber
xargs
OP yang digunakan.