Filtros en Linux: Comando find, grep, cut, wc, sort, uniq y awk
Clasificado en Informática
Escrito el en español con un tamaño de 2,79 KB
Filtros en Linux: Comando find
Permite localizar archivos dentro de la estructura de directorios aunque tiene muchas más opciones.
Sintaxis:
find PtoBúsqueda –name “NombreArchivo”
También puede ser utilizado para buscar sólo en directorios, su sintaxis:
find PtoPartidaBúsqueda –name “NombreArchivo” –type d
Con el modificador –type f busca solo ficheros.
Otra posibilidad con el comando find es encontrar un archivo y después de localizado ejecutar un comando sobre él:
find PtoBúsqueda –name “NombreArchivo” -exec comando ‘{}’ ‘;’
Filtro grep
Busca un patrón en un archivo, sintaxis: Grep patrón archivo1
-f->utiliza un patrón (un archivo que tiene un patrón), -i->diferencia mayúsculas de minúsculas, -e->para poner más de un patrón (grep –e patrón1 –e patrón2 archivo), -v->muestra las líneas que no lo cumplen.
Filtro cut
Corta en función o bien en número de caracteres o bien de un número delimitador. Extrae 1 o varios campos para cada línea de un archivo.
Sintaxis: -c->cuenta caracteres (lista:1,3,7)(rango: 1-7), -f->campos se encuentran separados por delimitadores que especifican con la opción –d, -d->delimitador-> ‘:’, en caso de no hallarlo, utilizar TAB, Ejemplo: cut –f lista [-d carácter] [archivo1…]
Filtro wc
Este filtro se utiliza para contar el número de caracteres, líneas, palabras. Sintaxis: Wc –clw archivo1 archivo2 archivo3. -c->caracteres, -l->líneas, -w->palabras.
Filtro sort
Este filtro ordena las líneas de archivos y las envía a salida estándar. Sintaxis: Sort archivo. -f->diferencia mayúsculas de minúsculas, -n->caracteres numéricos como número, los valores por defecto se consideran caracteres dígitos, -t->carácter, -k->columna.
Filtro uniq
Elimina repetidos si la entrada está ordenada. Sintaxis: Uniq[OPCIÓN]…[ENTRADA[SALIDA]].
Awk
Comando de procesamiento de patrones, comprueba cada línea de un archivo, buscando las que coincidan con los patrones dados en la línea de comando. Sintaxis: awk '{patrón + acción}' {nombresdearchivo}.
Operadores:
^->Principio de línea, $->fin de línea, []->Clase de caracteres, | OR, *->Cero o más apariciones, +->Una o más apariciones, ?->Cero o una aparición, .->Comodín (un carácter), ()->Agrupación.
El patrón que más utilizaremos será PRINT al cual incorporándole $numcolumna nos permitirá extraer una o más columnas de un determinado fichero.
Ejemplos:
awk '{print $2}' caidas.txt (nos mostrará la segunda columna del fichero caidas). awk FS="." '{print $1 $3}' /etc/passwd (mostrar el 1 y 3 campo del fichero /etc/passwd).