Articles of bash

¿Cómo puedo enviar el stdout de un proceso a múltiples procesos usando pipes (preferiblemente sin nombre) en Unix (o Windows)?

Me gustaría redirigir la rutina del proceso proc1 a dos procesos proc2 y proc3: proc2 -> stdout / proc1 \ proc3 -> stdout Lo intenté proc1 | (proc2 & proc3) pero no parece funcionar, es decir echo 123 | (tr 1 a & tr 1 b) escribe b23 a stdout en lugar de a23 b23

Cómo recorrer un directorio recursivamente para eliminar archivos con ciertas extensiones

Necesito recorrer un directorio recursivamente y eliminar todos los archivos con extensión .pdf y.doc, estoy logrando recorrer un directorio recursivamente pero sin filtrar los archivos con las extensiones de archivo mencionadas anteriormente. Mi código hasta el momento #/bin/sh SEARCH_FOLDER=”/tmp/*” for f in $SEARCH_FOLDER do if [ -d “$f” ] then for ff in $f/* do […]

¿Cómo uso su para ejecutar el rest del script bash como ese usuario?

He escrito un script que toma, como argumento, una cadena que es una concatenación de un nombre de usuario y un proyecto. Se supone que el script cambia (su) al nombre de usuario, cd a un directorio específico basado en la cadena del proyecto. Básicamente quiero hacer: su $USERNAME; cd /home/$USERNAME/$PROJECT; svn update; El problema […]

Comando Bash para sumr una columna de números

Quiero un comando de bash al que pueda conectarme que sumrá una columna de números. Solo quiero un trazador de líneas rápido que haga algo esencialmente así: cat FileWithColumnOfNumbers.txt | sum

Cómo eliminar archivos anteriores a X horas

Estoy escribiendo un script bash que necesita borrar archivos viejos. Actualmente se implementa utilizando: find $LOCATION -name $REQUIRED_FILES -type f -mtime +1 -delete Esto eliminará los archivos anteriores a 1 día. Sin embargo, ¿qué sucede si necesito una resolución más fina que 1 día, digamos que 6 horas? ¿Hay alguna manera limpia de hacerlo, como […]

¿Cómo puedo escapar del espacio en blanco en una lista de bucles bash?

Tengo un script bash shell que recorre todos los directorios secundarios (pero no archivos) de un directorio determinado. El problema es que algunos de los nombres de directorio contienen espacios. Aquí están los contenidos de mi directorio de prueba: $ls -F test Baltimore/ Cherry Hill/ Edison/ New York City/ Philadelphia/ cities.txt Y el código que […]

Bash: ¿Qué tan bueno es incluir otros scripts?

La forma en que normalmente incluirías un script es con “fuente” p.ej: main.sh: #!/bin/bash source incl.sh echo “The main script” incl.sh: echo “The included script” El resultado de ejecutar “./main.sh” es: The included script The main script … Ahora, si intenta ejecutar ese script de shell desde otra ubicación, no puede encontrar el include a […]

¿Cómo se representan múltiples condiciones en una instrucción shell if?

Quiero representar varias condiciones como esta: if [ ( $g -eq 1 -a “$c” = “123” ) -o ( $g -eq 2 -a “$c” = “456” ) ] then echo abc; else echo efg; fi pero cuando ejecuto el script, muestra syntax error at line 15: `[‘ unexpected, donde la línea 15 es la que […]

¿Cómo obtener la cantidad de CPU / núcleos en Linux desde la línea de comando?

Tengo este script, pero no sé cómo obtener el último elemento en la impresión: cat /proc/cpuinfo | awk ‘/^processor/{print $3}’ El último elemento debería ser la cantidad de CPU, menos 1.

Comprobando el estado de salida Bash de varios comandos de manera eficiente

¿Hay algo similar a pipefail para múltiples comandos, como una instrucción ‘try’ pero dentro de bash. Me gustaría hacer algo como esto: echo “trying stuff” try { command1 command2 command3 } Y en cualquier punto, si falla algún comando, abandone y repita el error de ese comando. No quiero tener que hacer algo como: command1 […]