jueves, 18 de junio de 2015

Filtros Linux

Filtros


Concepto: Los filtros son programas que reciben datos por la entrada estándar, y los devuelven procesados por la salida estándar.

GREP

- El comando grep (Global Regular Expression and Print) permite buscar las líneas que contienen una cadena de caracteres especificada mediante una expresión regular. Lee la entrada estándar o una lista de archivos y muestra en la salida sólo aquellas líneas que contienen la expresión indicada.

- Sintaxis:
grep [opciones] patrón [fichero/s]







Imagen: Probando el comando GREP

GRP Opciones:

-r|-R|
Para buscar de forma recursiva dentro de los ficheros de un directorio.
-n|
Muestra el número correspondiente al lugar que ocupa en el fichero la línea encontrada.
-i|
No distingue entre mayúsculas y minúsculas.
-v|
Muestra las líneas que no se corresponden con el patrón.
-c|
Escribe el número de líneas que satisfacen la condición.
-l|
Se escriben los nombres de los ficheros que contienen las líneas buscadas.

TR

El comando tr dado un flujo de datos (entrada estándar) nos permite modificarlos sustituyendo y/o borrando carácteres.
CONJUNTO1 y CONJUNTO2 son ambos secuencias de caracteres definidas explícitamente o bien usando los conjuntos predefinidos por este comando. La característica principal de trabajo de tr es que asocia cada carácter del CONJUNTO1 con los del CONJUNTO2

Sintaxis:
tr [PARÁMETRO]... CONJUNTO1 [CONJUNTO2]
Opciones:
-d Borrar los carácteres indicados en CONJUNTO1
-s Elimina o reemplaza los carácteres repetidos indicados en CONJUNTO1
-c Todos los carácteres que no sean los indicados en CONJUNTO1 los convierte en SET2

-t Trunca CONJUNTO1 a la longitud de CONJUNTO2

Imagen: Ejemplo remplazando las vocales "i" por la "e"


SORT

Muestra en orden ascendente, descendente o numérico el contenido de los ficheros que se les pasa como argumentos.

Sintaxis:

sort [opciones] [fichero/s]
Opciones:

-c|
Comprueba que el fichero esté ordenado, pero no lo ordena. Si no está ordenando te muestra un mensaje mostrando la primera línea que está fuera de orden.
-r|
Ordena en sentido inverso.
-n|
Ordena por orden numérico en lugar de alfabético que es la opción por defecto.
-u|
Elimina las líneas repetidas


EGREP

egrep es el componente más potente de la familia de órdenes grep. Al igual que fgrep, se puede utilizar para buscar múltiples objetivos. Lo mismo que grep, permite usar expresiones regulares para especificar los objetivos, pero proporciona un conjunto más completo y potente de expresiones regulares que grep. egrep acepta todas las expresiones regulares básicas reconocidas por grep, así como varias extensiones útiles como las de la siguiente tabla:

Símbolo Significado
 +          Una o más repeticiones del carácter precedente.
 ?          Cero o más repeticiones del carácter precedente.
 |          Identifica cualquiera de dos o más elementos.
( )          Trata el texto entre paréntesis como un grupo.

Se puede decir a egrep que busque varios objetivos de dos formas: colocándolos sobre líneas independientes como en fgrep, o separándolos con la barra vertical o símbolo del cauce (|).

Ejemplo

$ egrep "martes|jueves|" dias.text



FGREP

El comando fgrep es similar a grep, pero con tres diferencias principales: se puede utilizar para buscar varios objetivos al mismo tiempo, no permite utilizar expresiones regulares para buscar patrones y es más rápida que grep. Cuando se busca en un archivo grande o en varios pequeños, la diferencia de velocidad puede ser significativa.

Con fgrep se pueden buscar las líneas que contengan uno cualquiera de varios objetivos alternativos.Por ejemplo, la siguiente orden busca las entradas en el archivo recetas.txt que contengan las palabras "pollo" o "pavo".

$ fgrep "pollo
> pavo" recetas.txt

Cuando a fgrep se dan varios objetivos de búsqueda, cada uno debe estar en una línea separada. En este ejemplo, si no se hubiera puesto pavo en la siguiente línea hubiera buscado "pollo pavo".

FIND

El comando Find es utilizado para buscar y localizar una lista de archivos y directorios basado en una serie de condiciones y argumentos.
Find puede ser utilizado en una gran variedad de condiciones el cual puede buscar archivos por permisos , usuarios , grupos, tipo de archivo, fecha , tamaño y otros criterios posibles.

Sintaxis:
find [ruta] [expresión_de_búsqueda] [acción]

Argumentos numéricos:

+N  mayor que N
-N  menor que N
 N  exactamente N.

Criterios de búsqueda:

-name    PATRON      el nombre aparea con PATRON;
-iname   PATRON       idem,insensible a mayúculas;
-path      PATRON       nombre con vía completa;
-ipath     PATRON       idem, insensible a mayústulas;
-regexp  EXP                nombre aparea con expresión regular EXP
-iregexp  EXP                idem, insensible a mayúsculas;
-lname    PATRON       archivo es un enlace simbólico;
-ilname    PATRON      idem, insensible a mayúsculas;
-atime N                       último acceso N*24 horas atrás
-ctime N                       último cambio de estado N*24 horas atrás
-mtime N                      última modificación N*24 horas atrás
-amin N                        último acceso N minutos atrás
-mmin N                       última modificación N minutos atrás
-daystart                       mide tiempos desde las 0 horas de hoy
-size N[bckw]              tamaño de N bloques, caracteres, KB o palabras (2 bytes)
-empty                         archivo vacío, regular o directorio
-user UNAME             archivo del usuario UNAME
-group GNAME          archivo del grupo GNAME

UNIQ

uniq [OPCION]... [ENTRADA [SALIDA]]
muestra una única línea para una entrada ordenada, eliminando líneas repetidas sucesivas. Opcionalmente, puede mostrar solo líneas que aparecen una vez, o sólo líneas que aparecen varias veces. La entrada debe estar ya ordenada; si no lo está, puede usars sort -u para lograr un efecto similar.

Opciones:

-f  N   saltear N campos antes de verificar unicidad.
-s  N  saltear N caracteres antes de verificar unicidad.
-c       indicar junto a cada línea el número de veces que aparece.
-i        ignorar mayúsculas y minúsculas al comparar.
-d       mostrar sólo líneas repetidas.
-u       mostrar sólo líneas únicas.

No hay comentarios.:

Publicar un comentario