xargs: en línea en la nube

Este es el comando xargs que se puede ejecutar en el proveedor de alojamiento gratuito de OnWorks utilizando una de nuestras múltiples estaciones de trabajo en línea gratuitas, como Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS.

PROGRAMA:

NOMBRE


xargs: construye y ejecuta líneas de comando desde la entrada estándar

SINOPSIS


xargs [-0prtx] [-E eof-str] [-e[eof-str]] [--eof[=eof-str]] [--nulo] [-d delimitador]
[--delimitador delimitador] [-I reemplazar-str] [-i[reemplazar-str]] [--reemplazar[=reemplazar-str]]
[-l[lineas maximas]] [-L lineas maximas] [--lineas maximas[=lineas maximas]] [-n argumentos máximos] [--max-argumentos=max-
args] [-s max-caracteres] [--max-caracteres=max-caracteres] [-P proceso máximo] [--max-procs=proceso máximo]
[--proceso-ranura-var=nombre ] [--interactivo] [--verboso] [--Salida] [--no-ejecutar-si-vacio]
[--archivo -arg=presentar] [- mostrar-límites] [--versión] [--ayuda] [comando [argumentos-iniciales]]

DESCRIPCIÓN


Esta página de manual documenta la versión GNU de xargs. xargs lee elementos del estándar
entrada, delimitada por espacios en blanco (que se pueden proteger con comillas simples o dobles o una
barra invertida) o nuevas líneas, y ejecuta la comando (por defecto es / bin / echo) una o más veces
con cualquier argumentos-iniciales seguido de los elementos leídos de la entrada estándar. Líneas en blanco en el
se ignoran las entradas estándar.

La línea de comando para comando se acumula hasta que alcanza un límite definido por el sistema (a menos que
los -n y -L se utilizan opciones). El especificado comando será invocado tantas veces como
necesario para utilizar la lista de elementos de entrada. En general, habrá muchos menos
invocaciones de comando que había elementos en la entrada. Esto normalmente tendrá
beneficios de rendimiento significativos. Algunos comandos también se pueden ejecutar en paralelo;
ver la -P .

Debido a que los nombres de archivo Unix pueden contener espacios en blanco y nuevas líneas, este comportamiento predeterminado suele ser
problemático; Los nombres de archivo que contienen espacios en blanco y / o nuevas líneas son procesados ​​incorrectamente por
xargs. En estas situaciones, es mejor utilizar el -0 opción, que previene tal
problemas. Cuando utilice esta opción, deberá asegurarse de que el programa que produce
la entrada para xargs también utiliza un carácter nulo como separador. Si ese programa es GNU
find por ejemplo, el -imprimir0 La opción hace esto por ti.

Si alguna invocación del comando sale con un estado de 255, xargs se detendrá inmediatamente
sin leer ninguna entrada adicional. Se emite un mensaje de error en stderr cuando este
sucede.

OPCIONES


-0, --nulo
Los elementos de entrada terminan con un carácter nulo en lugar de un espacio en blanco, y el
las comillas y la barra invertida no son especiales (todos los caracteres se toman literalmente).
Desactiva el final de la cadena del archivo, que se trata como cualquier otro argumento. Útil
cuando los elementos de entrada pueden contener espacios en blanco, comillas o barras invertidas. El GNU
La opción find -print0 produce una entrada adecuada para este modo.

-a presentar, --arg-file =presentar
Leer elementos de presentar en lugar de la entrada estándar. Si usa esta opción, stdin
permanece sin cambios cuando se ejecutan los comandos. De lo contrario, stdin se redirige desde
/ dev / null.

--delimiter =delimitar, -d delimitar
Los elementos de entrada terminan con el carácter especificado. El delimitador especificado puede
ser un solo carácter, un carácter de escape de estilo C como \n, o un octal o
código de escape hexadecimal. Los códigos de escape octales y hexadecimales se entienden como
los Printf mando. No se admiten caracteres multibyte. Al procesar el
la entrada, las comillas y la barra invertida no son especiales; todos los caracteres de la entrada se toman
literalmente. los -d La opción desactiva cualquier cadena de fin de archivo, que se trata como
cualquier otro argumento. Puede utilizar esta opción cuando la entrada consiste simplemente en
elementos separados por líneas nuevas, aunque casi siempre es mejor diseñar su programa
que se utilizará --nulo donde esto sea posible.

-E eof-str
Establezca el final de la cadena del archivo en eof-str. Si el final de la cadena del archivo aparece como una línea
de entrada, el resto de la entrada se ignora. Si ninguno -E ni -e se usa, sin fin
de la cadena de archivo se utiliza.

-e[eof-str], --eof[= eof-str]
Esta opción es sinónimo de -E opción. Usar -E en cambio, porque es POSIX
compatible mientras que esta opción no lo sea. Si eof-str se omite, no hay fin de archivo
cuerda. Si ninguno -E ni -e se utiliza, no se utiliza ninguna cadena de fin de archivo.

-I reemplazar-str
Reemplazar apariciones de reemplazar-str en los argumentos iniciales con nombres leídos de
entrada estándar. Además, los espacios en blanco sin comillas no terminan los elementos de entrada; en cambio el
el separador es el carácter de nueva línea. Implica -x y -L 1.

-i[reemplazar-str], --reemplazar[= reemplazar-str]
Esta opción es sinónimo de -Ireemplazar-str if reemplazar-str está especificado. Si el
reemplazar-str falta el argumento, el efecto es el mismo que -I{}. Esta opcion es
obsoleto; usar -I preferiblemente.

-L lineas maximas
Usar como máximo lineas maximas líneas de entrada no en blanco por línea de comando. Causa de espacios en blanco finales
una línea de entrada que continuará lógicamente en la siguiente línea de entrada. Implica -x.

-l[lineas maximas], --lineas maximas[=lineas maximas]
Sinónimo de -L opción. diferente a -L, lineas maximas El argumento es opcional. Si max-
líneas no se especifica, por defecto es uno. los -l La opción está obsoleta ya que la
El estándar POSIX especifica -L preferiblemente.

-n argumentos máximos, --max-argumentos=argumentos máximos
Usar como máximo argumentos máximos argumentos por línea de comando. Menos que argumentos máximos argumentos
se utilizará si el tamaño (ver el -s opción) se excede, a menos que la -x opción es
dado, en cuyo caso xargs will salida.

-P proceso máximo, --max-procs=proceso máximo
Corre hasta proceso máximo procesos a la vez; el valor predeterminado es 1. Si proceso máximo es 0,
xargs ejecutará tantos procesos como sea posible a la vez. Utilizar el -n opción o el
-L opción con -P; de lo contrario, es probable que solo se realice un ejecutivo. Tiempo
xargs se está ejecutando, puede enviar a su proceso una señal SIGUSR1 para aumentar el número
de comandos para ejecutar simultáneamente, o un SIGUSR2 para disminuir el número. No se puede
aumentarlo por encima de un límite definido por la implementación (que se muestra con --show-
límites). No puede disminuirlo por debajo de 1. xargs nunca termina sus órdenes;
cuando se le pide que disminuya, simplemente espera a que más de un comando existente
terminar antes de iniciar otro.

Por favor, nota que depende de los procesos llamados gestionar adecuadamente los
acceso a recursos compartidos. Por ejemplo, si más de uno intenta imprimir
a stdout, el outptut se producirá en un orden indeterminado (y muy probablemente
mezclado) a menos que los procesos colaboren de alguna manera para evitarlo. Usando algunos
El tipo de esquema de bloqueo es una forma de prevenir este tipo de problemas. En general, el uso de
El esquema de bloqueo ayudará a garantizar una salida correcta pero reducirá el rendimiento. Si tu
no quiero tolerar la diferencia de rendimiento, simplemente haga arreglos para cada proceso
para producir un archivo de salida separado (o utilizar recursos separados).

-pag, --interactivo
Preguntar al usuario si debe ejecutar cada línea de comando y leer una línea del
Terminal. Solo ejecute la línea de comando si la respuesta comienza con 'y' o 'Y'.
Implica -t.

--proceso-ranura-var=nombre
Establecer la variable de entorno nombre a un valor único en cada proceso hijo en ejecución.
Los valores se reutilizan una vez que salen los procesos secundarios. Esto se puede utilizar de forma rudimentaria.
esquema de distribución de carga, por ejemplo.

-r, --no-ejecutar-si-vacio
Si la entrada estándar no contiene ningún espacio en blanco, no ejecute el comando.
Normalmente, el comando se ejecuta una vez incluso si no hay entrada. Esta opción es una GNU
extensión.

-s max-caracteres, --max-caracteres= max-caracteres
Usar como máximo max-caracteres caracteres por línea de comando, incluido el comando y
argumentos-iniciales y los nulos finales al final de las cadenas de argumentos.
El mayor valor permitido depende del sistema y se calcula como el argumento
límite de longitud para ejecutivos, menos el tamaño de su entorno, menos 2048 bytes de
espacio para la cabeza. Si este valor es superior a 128 KB, se utiliza 128 KB como valor predeterminado;
de lo contrario, el valor predeterminado es el máximo. 1 KB son 1024 bytes. xargs
se adapta automáticamente a restricciones más estrictas.

- mostrar-límites
Muestre los límites en la longitud de la línea de comando que son impuestos por la operación
sistema, xargs'elección del tamaño del búfer y -s opción. Canalice la entrada de
/ dev / null (y tal vez especificar --no-ejecutar-si-vacio) si no quieres xargs que hacer
cualquier cosa.

-t, --verboso
Imprima la línea de comando en la salida de error estándar antes de ejecutarla.

-X, --Salida
Salga si el tamaño (ver el -s opción) se excede.

--ayuda Imprima un resumen de las opciones para xargs y salir

--versión
Imprima el número de versión de xargs y salir

EJEMPLOS


find / Tmp -nombre centro Tipo f -impresión | xargs / bin / rm -f

Encuentra archivos con nombre centro en o debajo del directorio / Tmp y eliminarlos. Tenga en cuenta que esto
funcionan incorrectamente si hay nombres de archivo que contienen nuevas líneas o espacios.

find / Tmp -nombre centro Tipo f -imprimir0 | xargs -0 / bin / rm -f

Encuentra archivos con nombre centro en o debajo del directorio / Tmp y eliminarlos, procesando nombres de archivo
de tal manera que los nombres de archivos o directorios que contienen espacios o nuevas líneas estén correctamente
manejado.

find / Tmp -profundidad -nombre centro Tipo f -borrar

Encuentra archivos con nombre centro en o debajo del directorio / Tmp y eliminarlos, pero de manera más eficiente
que en el ejemplo anterior (porque evitamos la necesidad de utilizar tenedor(2) y ejecutivo(2) a
lanzamiento rm y no necesitamos el extra xargs proceso).

cut -re: -f1 < / Etc / passwd | sort | xargs echo

Genera una lista compacta de todos los usuarios del sistema.

xargs sh -c 'emacs PS < / dev / tty ' emacs

Lanza el número mínimo de copias de Emacs necesarias, una tras otra, para editar el
archivos listados en xargs'entrada estándar. Este ejemplo logra el mismo efecto que BSD -o
opción, pero de una manera más flexible y portátil.

SALIR ESTADO


xargs sale con el siguiente estado:
0 si tiene éxito
123 si cualquier invocación del comando salió con el estado 1-125
124 si el comando salió con el estado 255
125 si el comando es asesinado por una señal
126 si el comando no se puede ejecutar
127 si no se encuentra el comando
1 si se produjo algún otro error.

El shell utiliza códigos de salida superiores a 128 para indicar que un programa ha muerto debido a una
señal fatal.

NORMAS Conformidad


A partir de la versión 4.2.9 de GNU xargs, el comportamiento predeterminado de xargs no es tener una lógica
marcador de fin de archivo. POSIX (IEEE Std 1003.1, 2004 Edition) lo permite.

Las opciones -l y -i aparecen en la versión 1997 del estándar POSIX, pero no aparecen
en la versión 2004 de la norma. Por lo tanto, debe usar -L y -I en su lugar,
respectivamente.

El estándar POSIX permite que las implementaciones tengan un límite en el tamaño de los argumentos a la
ejecutivo funciones. Este límite puede ser tan bajo como 4096 bytes, incluido el tamaño del
medio ambiente. Para que los scripts sean portátiles, no deben depender de un valor mayor. Sin embargo,
No conozco ninguna implementación cuyo límite real sea tan pequeño. los - mostrar-límites opción
se puede utilizar para descubrir los límites reales vigentes en el sistema actual.

Use xargs en línea usando los servicios de onworks.net



Últimos programas en línea de Linux y Windows