Saya memiliki skrip s1
yang menampilkan daftar angka yang dipisahkan dengan ',' misalnya 1,2,3,4
. Sekarang saya ingin memberikan angka-angka ini ke skrip s2
sebagai argumen, sehingga s2 akan dijalankan pada masing-masing dan menampilkan hasilnya dalam baris terpisah. Misalnya, jika s2 mengalikan angka dengan dua, ini akan menjadi hasil yang saya cari:
2
4
6
8
Yang saya lakukan sekarang adalah:
s1 | xargs -d "," | xargs -n1 s2
Tapi aku merasa seperti melakukannya dengan cara bodoh! Jadi pertanyaan saya adalah:
Apa cara yang tepat untuk melakukannya?
Masalah saya dengan solusi saya adalah memanggil xargs dua kali dan mengulangi input dua kali yang tentu saja tidak masuk akal bagi saya melalui kinerja! Jawabannya xargs -d "," -n1
kelihatannya bagus, tapi saya tidak yakin apakah itu hanya dilakukan satu kali. Jika ya, harap verifikasi itu dalam jawaban Anda, dan saya akan menerimanya. By the way, saya lebih suka tidak menggunakan Perl karena masih iterasi dua kali dan juga Perl mungkin tidak ada pada banyak sistem.
s1 | xargs -d "," -n1 s2