Comando: xgrep
XGREP es un programa para escanear archivos de texto basados en UNIX
utilizando GREP. Usted puede utilizar XGREP como:
- Muestra lineas de un archivo que contiene una palabras particular,
frase o patrón.
- Contar las lineas en las que se produce un patrón particular, o
generar una lista de archivos que se refiere a un tema determinado.
Sintaxis:
xgrep [-chlnsvyorx] expresión [archivos]
xgrep [/chlnsvyorx] expresión [archivos]
expresión La expresión para buscar, también puede ser una clase.
Opciones:
-c Linea contenida sólo.
-h No hay nombres de archivo.
-l Nombres de archivos sólo.
-n Número de lineas.
-o Errores de salida estandar - los mensajes de error serán redirigidos
junto con la salidad estandar.
-r Busqueda recursiva en subdirectorios - busca los archivos no sólo en
el directorio especificado sino en todos los subdirectorios de ese
directorio.
-s Silencio sobre archivos inaccesibles.
-v Lineas que no coinciden - "invierte" el resultado de alguna busqueda.
-x Sin magia: todas las operadores necesitan '/'. La opción -x hace que
los caracteres especiales sean normalizados: . [ * + ? ^ $ que se va
analizar, por defecto, como literales. Por ejemplo, los siguiente
comando es equivalente:
xgrep "p\[0] \* 3" test.c
xgrep -x "p[0] * 3" test.c
Todos los operadores de operaciones regulares siguen siendo
accesibles, pero deben ser precedidos por un \ (barra invertida).
-y Coinciden mayúsculas y minúsculas - no acompañando mayúsculas y
minúsculas.
Otras dos opciones son compatibles como alias para otras opciones:
-d Es un alias para -r.
-i Es un alias para -y.
Comentarios:
Como GREP, XGREP funciona mejor con archivos de texto plano: el tipo de
archivo que no contine datos binarios o caracteres de control que no son
ASCII, y que se dividen en lineas o registros que terminan en un '\n'
(nueva linea). XGREP soporta archivos de texto tanto enformatos UNIX (LF)
y DOS (CR, LF).
En XGREP, Los : (dos puntos) pueden ser usados para referirse a las
clases predefinidas. Las doce clases predefinidas, junto con sus
definiciones, son las siguientes:
:a Alpha Alfabético [A-Za-z] =rango ASCII: 65-90,97-122
:c Cntrl Control =rango ASCII: 0-31,127
:d Digit dígitos [0-9] =rango ASCII: 48-57
:g Graph gráficos [!-~] =rango ASCII: 33-126
:l Lower minúsculas [a-z] =rango ASCII: 97-122
:n Alnum alfanumérico [0-9A-Za-z] =rango ASCII: 48-57,65-90,97-122
:p Punct puntuación [!-/:-@[-`{-~] =rango ASCII: 33-47,58-64,91-96,
123-126
:s Space Espacio en blanco =rango ASCII: 9-13,32
:t Print Imprimibles [ -~] =rango ASCII: 32-126
:u Upper mayúsculas [A-Z] =rango ASCII: 65-90
:x Xdigit dígitos hex [0-9A-Fa-f] =rango ASCII: 48-57,65-70,97-102
:z ASCII =rango ASCII: 0-127
Signos para especificar el contexto:
^ Inicio de linea
$ Fin de linea
. Comodín
[] Clase de Carácter
[^] Clase inversa
\ Citar siguiente carácter
Repetir:
* 0 o más veces
+ 1 o más veces
? 0 o 1 vez
\{m\} m veces
\{m,\} m o más veces
\{m,u\} m a u veces
Para otener más información acerca de ":" y "signos para especificar el
contexto" por favor lea XGREP.DOC.
XGREP tiene las siguientes EXITCODES (ERRORLEVEL):
0 Al menos una coincidencia encontrada.
1 No se encontraron coincidencias.
2 Ocurrio un error(s).
Ejemplos:
xgrep "Hello World" *.c
xgrep -c jill group
xgrep -l SCSI *.doc
xgrep widgets
xgrep -n widgets notes.txt
xgrep -n -rs widgets \*.txt \*.doc
Ver también:
find
------------------------------------------------------------------------------
Copyright (C)2008 W. Spiegl.
Actualizado en 2013 por Lorenzo del Toro Saravia.
Este archivo se deriva de la FreeDOS Spec Command HOWTO.
Consulte el archivo H2Cpying para las condiciones de copia.