Documentos de Académico
Documentos de Profesional
Documentos de Cultura
El siguiente mandato especfica que al inicio se imprima en la salida la frase "Hola mundo" y terminar el procesamiento.
Hola mundo
cat ejemplo.txt
Columna1
Columna2
Columna3
Columna4
Si se utiliza el mandato awk para que solo muestre la columna 1 y la columna 3 del siguiente modo:
Columna1 Columna3
Si se utiliza el mandato awk para que solo muestre la columna 3 y la columna 1, en ese orden, del siguiente modo:
Columna3 Columna1
echo -e "Dato1\tDato2\tDato3\tDato4\n" >> ejemplo.txt echo -e "Dato5\tDato6\tDato7\tDato8\n" >> ejemplo.txt echo -e "Dato9\tDato10\tDato11\tDato4\12" >> ejemplo.txt
cat ejemplo.txt
Columna3
Columna4
Si se utiliza nuevamente el mandato awk para que solo muestre la columna 1 y la columna 3 del siguiente modo:
Si se utiliza el mandato awk del siguiente modo para que solo muestre solo la lnea cuya columna contenga la expresin regular Dato5:
Dato5
Dato6
Dato7
Dato8
Si se utiliza el mandato awk del siguiente modo para que solo muestre solo la lnea cuya columna contenga la expresin regular Dato5, y adems solo las columnas 1 y 4:
Dato5 Dato8
Si se utiliza el mandato awk del siguiente modo para que muestre solo las lneas con ms de 35 caracteres en el archivo /etc/crontab:
01 * * * * root run-parts /etc/cron.hourly 02 4 * * * root run-parts /etc/cron.daily 22 4 * * 0 root run-parts /etc/cron.weekly 42 4 1 * * root run-parts /etc/cron.monthly
Si se utiliza el mandato awk del siguiente modo para que muestre solo las lneas con menos de 35 caracteres en el archivo /etc/crontab:
# run-parts
vi usuario.txt
Fulano Algo Calle Mengana 123 Colonia Perengana Ciudad de Zutano, C.P. 123456
Para que el mandato awk reconozca cada lnea como un registro completo, en lugar de considerar cada palabra como una columna, se utiliza 'BEGIN { FS="\n" ; RS=""}', donde el valor de FS(Field Separator o separador de campo) se establece como un retorno de carro y el valor deRS (Record Separator o separador de registro) se establece como una lnea vaca. Si utiliza el siguiente mandato donde se establecen los valores mencionados para FS y RS y se pide se impriman los valores de cada registro (cada lnea) separados por una coma y un espacio:
awk 'BEGIN { FS="\n"; RS="" } { print $1 ", " $2 ", " $3 ", " $4 }' usuario.txt
Fulano Algo, Calle Mengana 123, Colonia Perengana, Ciudad de Zutano, C.P. 123456
El mandato awk puede realizar conteo de lneas, palabras y caracteres. El siguiente mandato se establece que el valor de w sea igual al nmero de campos (New Field o NF), c sea igual la longitud de cada campo, y que se imprima el nmero de campos, el valor de w y el valor de c:
awk '{ w += NF; c += length} \ END { print \ "Campos: " NR , "\nPalabras: " w, "\nCaracteres: " c }' \ usuario.txt
Genere el archivo numeros.txt con el siguiente contenido, donde las columnas sern separadas por un tabulador:
1 2 3 4 5 6 7 8 9 10 11 12
El mandato awk puede realizar operaciones matemticas. el siguiente mandato establece que s es igual a la suma del valor de los campos de la primera columna del archivo numeros.txt, e imprime el valor de s:
15
18
Para hacer conteo de frecuencia de palabras, Se establece que el valor para FS(Field Separator o separador de lnea) sea igual a expresiones regulares que van desde la a a la z y desde la A a la Z, se establece que el valor de la variable i es igual a 1 y menor al nmero de campos.
awk 'BEGIN { FS="[^a-zA-Z]+"} \ { for (i=1; i<=NF; i++) words[tolower($i)]++ } \ END { for (i in words) print i, words[i] }' /etc/crontab
7 bin 3 run 5 etc 4 sbin 3 bash 1 weekly 1 daily 1 cron 4 usr 2 path 1 shell 1 parts 5 home 1 mailto 1 monthly 1 hourly 1 root 6