Saya di Ubuntu. Saya menyalin beberapa argumen (dipisahkan oleh baris baru) dan saya dapat menggunakan xsel untuk mencetaknya seperti ini
$ xsel
arg1
arg2
arg3
arg4
...
Sekarang, saya ingin menggunakan masing-masing argumen ini untuk perintah lain dan mengeksekusi perintah itu sebanyak ada argumen.
Jadi saya mencoba
$ xsel | mycommand "constantArgument" $1
Namun, ini mycommand
hanya dieksekusi untuk argumen pertama. Bagaimana saya bisa menjalankannya untuk setiap argumen?
Jawaban:
Anda cukup menggunakan
xargs
-n1
berarti satu argumen untuk perintah saya, tapi itu hanya run kering, itu akan menunjukkan apa yang akan dijalankan, untuk menjalankannya hapusecho
Untuk Argumen konstan
sumber
xsel | xargs -n1 echo mycommand -more-arg
xsel | xargs -n2 echo mycommand
dua arg per perintahAtau yang serupa. Anda juga dapat menggunakan
xargs
, yang merupakan perintah yang sangat kuat untuk memanipulasi argumen baris perintah.sumber
Untuk sedikit penyesuaian:
Anda dapat menghapus
-noexecute
bendera setelah Anda melihat cara kerjanya.Jika berhasil, Anda dapat menjatuhkan
sh
seluruhnya dan melakukan ini sebagai gantinya:Atau lebih cepat:
Apa pun caranya mudah dan akan melakukannya.
sumber