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 ©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.