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 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
#!/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 ];…
grep -m 1 -oE ‘([0-9]{1,3}\.){3}[0-9]{1,3}’
rename -v ‘s/[^\x00-\x7F]|\?|\://g’ * Corrige el nombre de los ficheros Unix para que no den problemas si se copian en sistemas de ficheros Windows
Se tiene el fichero: haciendo awk ‘{for(i=1;i<=NF;i++){print $i}}’ file5.txt > file5_new.txt se tiene:
En este ejemplo borra las líneas 1 a 10: sed -n -e :a -e ‘1,10!{P;N;D;};N;ba’