Para vaciar un archivo se puede realizar, redirigiendo a /dev/null:
1 |
cat /dev/null /usr01/var/loge.txt |
O copiando el “archivo vacío” /dev/null machando el que tenemos:
1 |
cp /dev/null /usr01/var/loge.txt |
Para vaciar un archivo se puede realizar, redirigiendo a /dev/null:
1 |
cat /dev/null /usr01/var/loge.txt |
O copiando el “archivo vacío” /dev/null machando el que tenemos:
1 |
cp /dev/null /usr01/var/loge.txt |
Para leer un fichero línea a línea lo más cómodo es utilizar un bucle while con read line. Es decir:
1 2 3 4 |
#!/bin/bash while read linea ; do echo ${linea} done <<< "`cat fichero`" |
En linea se va almacenando en cada iteración la línea del fichero que toque y para que el bucle while sepa de donde obtener los datos ponemos al final del bucle <<< para indicarle que los datos le van a llegar por esa vía, cat fichero
para volcar el contenido del fichero y lo encerramos entre comillas dobles («) para que cada línea la trate como un todo, sin las comillas en cada iteración tomaría una sola palabra del fichero, es decir recorreriamos el fichero de palabra en palabra.
1 2 3 4 5 |
#!/bin/bash for a in 01 02 03 04 05 06 07 do echo -n "$a " done |
Al ejecutar este SCRIPT, obtenemos la siguiente salida :
1 |
01 02 03 04 05 06 07 |
1 2 3 4 5 6 |
##!/bin/bash Linux=(Ubuntu LinuxMint CentOS Fedora) Windows=(WinXP Win7 Win8) LinWin=("${Linux[@]}" "${Windows[@]}") echo ${LinWin[@]} |
Al ejecutar este script, nos mostraría por pantalla :
1 |
Ubuntu LinuxMint CentOS Fedora WinXP Win7 Win8 |
1 2 3 4 5 6 7 |
#!/bin/bash parametro=$1 if [ -z ${parametro} ]; then echo Te falta especificar el parámetro else echo El parámetro es ${parametro} fi |