Emular el comando tree de dos
ls -R | grep : | sed -e 's/:$//' -e 's/[^-][^\/]*\//--/g' -e 's/^/ /' -e 's/-/|/'
ls -R | grep : | sed -e 's/:$//' -e 's/[^-][^\/]*\//--/g' -e 's/^/ /' -e 's/-/|/'
Tenemos un csv generado con Excel, delimitado por comas: Con awk ‘{$1=$1}1’ FS="," OFS="\t" file4.csv > file4.txt pasaríamos a tener: {$1=$1}1: Reinicia el buffer FS="," : Se le dice a awk que el delimitador actual es , OFS="\t" : Se le dice a awk que el nuevo delimitador pasa a ser \t
En este ejemplo borra las líneas 1 a 10: sed -n -e :a -e ‘1,10!{P;N;D;};N;ba’
find -type f -exec grep -l "texto_busqueda" {} + y si queremos que la búsqueda sea exacta (por palabras) find -type f -exec grep -lw "texto_busqueda" {} +
Tenemos el fichero Si se quiere la suma de la columna col3: awk ‘BEGIN{FS="\t";count=0}{if(NR>1){count+=$3}}END{print count}’ file6.txt se obtiene: 171
Se cambian todos los ficheros con extensión .MOD de un directorio a extensión .mpeg: for i in *.MOD; do mv "$i" "${i[@]/%MOD/mpeg}"; done Se hace lo mismo, pero recursivamente en los subdirectorios: for i in `ls -r */*.MOD`; do mv -v "$i" "${i[@]/%MOD/mpeg}"; done
#!/bin/bash while [ true ] ; # se estará ejecutando indefinidamente do mem=`free -m |awk ‘NR==2 {print $4}’` # free -> da la memoria libre del sistema # -m : en megas # awk -> extrae texto # NR==2 : la 2ª línea # {print $4}: la 4ª columna if [ $mem -lt 10 ];…