AWK: Ejemplos útiles en una sola línea
Busca y extrae las líneas del fichero passwd desde la primera que contenga 100 hasta la siguiente que contenga 111:
awk '/100/,/111/ { print } /etc/passwd'
echo - | awk -v "S=SEGUNDOS" '{printf "%02d:%02d:%02d",S/(60*60),S%(60*60)/60,S%60}'
Debemos sustituir SEGUNDOS por el número de segundos a convertir, por ejemplo, para convertir 73180 segundos:
$ echo - | awk -v "S=73180" '{printf "%02d:%02d:%02d",S/(60*60),S%(60*60)/60,S%60}' 20:19:40
Muestra SOLO las líneas que NO están duplicadas:
awk '!x[$0]++' fichero
Este comando le dice a awk que lineas mostrar. La variable $0 contiene todo el contenido de una línea y los corchetes son acceso al array. Por lo tanto, para cada línea del archivo, el nodo de la matriz x se incrementa y la línea se imprime si el contenido de ese nodo no (!) estaba previamente establecido.
Imprime las lineas en que la primera columna es la misma que la segunda columna :
awk '$1==$2' fichero_2_columnas.txt