En Linux, puede usar xargs -d,
para ejecutar rápidamente el hostname
comando contra cuatro servidores diferentes con nombres secuenciales de la siguiente manera:
echo -n 1,2,3,4 |xargs -d, -I{} ssh root@www{}.example.com hostname
Parece que el comando OSX xargs no admite el parámetro delimitador. ¿Puede lograr el mismo resultado con un formato diferente echo
o mediante alguna otra utilidad de línea de comandos?
printf 'a\0a' | xargs -0 -n1 echo
.Alternativamente, siempre puede instalar GNU a
xargs
través de Homebrew y elfindutils
paquete GNU .Instalar Homebrew:
Sigue las instrucciones. Luego instale findutils:
Esto le dará GNU
xargs
comogxargs
, y puede usar la sintaxis a la que está acostumbrado desde GNU / Linux. Lo mismo ocurre con otros comandos básicos que se encuentran en el paquete findutils, comogfind
orglocate
ogupdatedb
, que tienen contrapartidas BSD diferentes en OS X.fuente
.zshrc
(como se explica en la salida de instalación) para no tener que usar elg
prefijo.Si desea que se ejecute en paralelo, use GNU Parallel:
fuente
También puede usar
tr
en OSX para convertir las comas en nuevas líneas y usar xargs para enumerar cada elemento de la siguiente manera:fuente