Di Linux, Anda dapat menggunakan xargs -d,
untuk menjalankan hostname
perintah dengan cepat terhadap empat server berbeda dengan nama sekuensial sebagai berikut:
echo -n 1,2,3,4 |xargs -d, -I{} ssh root@www{}.example.com hostname
Sepertinya perintah xargs OSX tidak mendukung parameter pembatas. Bisakah Anda mencapai hasil yang sama dengan diformat berbeda echo
, atau melalui beberapa utilitas baris perintah lainnya?
printf 'a\0a' | xargs -0 -n1 echo
.Atau, Anda selalu dapat menginstal GNU
xargs
melalui Homebrew danfindutils
paket GNU .Instal Homebrew:
Ikuti petunjuk. Kemudian instal findutils:
Ini akan memberi Anda GNU
xargs
sebagaigxargs
, dan Anda dapat menggunakan sintaks yang biasa Anda gunakan dari GNU / Linux. Hal yang sama berlaku untuk perintah dasar lain yang ditemukan dalam paket findutils sepertigfind
atauglocate
ataugupdatedb
, yang memiliki rekan BSD yang berbeda pada OS X.sumber
.zshrc
(seperti yang dijelaskan dalam output instalasi) jadi saya tidak perlu menggunakang
awalan.Jika Anda ingin dijalankan secara paralel, gunakan GNU Parallel:
sumber
Anda juga dapat menggunakan
tr
OSX untuk mengonversi koma ke baris baru dan menggunakan xargs untuk menghitung melalui setiap item sebagai berikut:sumber