Generar número aleatorio
# Devuelve un número aleatorio entre 1 y 100
echo $[ ( $RANDOM % 100 ) + 1 ]
# Devuelve un número aleatorio entre 1 y 100
echo $[ ( $RANDOM % 100 ) + 1 ]
#!/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 ];…
#!/bin/bash # Genera una estructura html a partir de ficheros md (markdown) # 1. Genera la estructura de directorios # 2. Construye los html # 3. Genera un fichero índice con un enlace a todos los documentos OUTPUT=HTML if [ ! -d $OUTPUT ]; then mkdir $OUTPUT fi files=($(find ./ -type f -name ‘*.md’)) for…
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" {} +
Para renombrar un fichero: #!/bin/bash # Renombra el fichero según las etiquetas mp3, de la forma: NºCanción-Título TITLE="`id3info "$1" | grep ‘^=== TIT2’ | sed -e ‘s/.*: //g’`" #ARTIST="`id3info "$1" | grep ‘^=== TPE1’ | sed -e ‘s/.*: //g’`" #ALBUM="`id3info "$1" | grep ‘^=== TALB’ | sed -e ‘s/.*: //g’`" #YEAR="`id3info "$1" | grep ‘^===…
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