Borrar los ficheros de log de más de 1 día de duración
#!/bin/bash
echo "Cleaning logs over $1 days old"
find /log_dir -ctime "$1" -name '*log' -exec rm {} \;
#!/bin/bash
echo "Cleaning logs over $1 days old"
find /log_dir -ctime "$1" -name '*log' -exec rm {} \;
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
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
Se tiene el fichero: haciendo awk ‘{for(i=1;i<=NF;i++){print $i}}’ file5.txt > file5_new.txt se tiene:
Comandos útiles !! Repite el último comando. !n Repite el comando número n (de history). !$ Último argumento del comando anterior. !:n Argumento número n del comando anterior. Combinaciones de teclas Combinación de teclas Acción Ctrl + A Ir al comienzo de la línea Ctrl+E Ir al final de la línea Ctrl+F Ir al siguiente…
# Devuelve un número aleatorio entre 1 y 100 echo $[ ( $RANDOM % 100 ) + 1 ]