Articles of bash

Cómo extraer una columna de un archivo csv

Si tengo un archivo csv, ¿hay una manera rápida de imprimir los contenidos de solo una columna? Es seguro suponer que cada fila tiene el mismo número de columnas, pero el contenido de cada columna tendría una longitud diferente.

¿Cómo puedo eliminar la extensión de un nombre de archivo en un script de shell?

¿Qué pasa con el siguiente código? name=’$filename | cut -f1 -d’.” Como es, obtengo la cadena literal $filename | cut -f1 -d’.’ $filename | cut -f1 -d’.’ , pero si elimino las citas, no obtengo nada. Mientras tanto, escribiendo “test.exe” | cut -f1 -d’.’ en un shell me da la salida que quiero, test . […]

Cómo canalizar la entrada a un bucle Bash while y conservar las variables después de que finalice el bucle

Bash permite usar: cat <(echo "$FILECONTENT") Bash también permite usar: while read i; do echo $i; done </etc/passwd while read i; do echo $i; done </etc/passwd para combinar los dos anteriores esto se puede usar: echo $FILECONTENT | while read i; do echo $i; done echo $FILECONTENT | while read i; do echo $i; done […]

¿Cuál es la mejor manera de garantizar que solo se ejecute una instancia de un script Bash?

¿Cuál es la mejor / la mejor forma de garantizar que solo se ejecute una instancia de un determinado guión, suponiendo que sea Bash en Linux? En este momento estoy haciendo: ps -C script.name.sh > /dev/null 2>&1 || ./script.name.sh pero tiene varios problemas: pone el cheque fuera de la secuencia de comandos no me permite […]

Cómo fusionar dos archivos línea por línea en Bash

Tengo dos archivos de texto, cada uno de ellos contiene información por línea, como esa file1.txt file2.txt ———- ——— linef11 linef21 linef12 linef22 linef13 linef23 . . . . . . Me gustaría fusionar estos archivos líneas por líneas usando un script bash para obtener: fileresult.txt ————– linef11 linef21 linef12 linef22 linef13 linef23 . . […]

Bash array con espacios en elementos

Estoy tratando de construir una matriz en bash de los nombres de archivo de mi cámara: FILES=(2011-09-04 21.43.02.jpg 2011-09-05 10.23.14.jpg 2011-09-09 12.31.16.jpg 2011-09-11 08.43.12.jpg) Como puede ver, hay un espacio en el medio de cada nombre de archivo. Intenté envolver cada nombre entre comillas y escapar del espacio con una barra diagonal inversa, ninguna de […]

¿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