English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
El comando grep de Linux se utiliza para buscar cadenas que coinciden con un patrón específico en archivos.
El comando grep de Linux se utiliza para buscar cadenas que coinciden con un patrón específico en archivos. Si se encuentra un archivo que contiene el patrón especificado, el comando grep por defecto mostrará la columna que contiene el patrón. Si no se especifica ningún nombre de archivo o si el nombre de archivo proporcionado es -Si no se especifica ningún nombre de archivo o si el nombre de archivo proporcionado es
grep [-abcEFGhHilLnqrsvVwxy][-A<número de líneas a mostrar>][-B<número de columnas a mostrar>][-C<número de columnas a mostrar>][-d<acción a realizar>][-e<patrón de estilo>][-f<archivo de patrón>][--ayuda][patrón de estilo][archivo o directorio...]
parámetros:
-a o --texto No ignore los datos binarios.
-A<número de líneas a mostrar> o --después-context=<número de líneas a mostrar> Además de mostrar la columna que coincide con el patrón de estilo, también muestra el contenido después de esa línea.
-b o --byte-desplazamiento Indique el número de caracteres del primer carácter de la línea que coincide con el estilo antes de mostrarla.
-B<número de líneas a mostrar> o --antes-context=<número de líneas a mostrar> Además de mostrar la línea que coincide con el estilo, también muestra el contenido antes de esa línea.
-c o --cuenta Calcular el número de columnas que coinciden con el estilo.
-C<número de líneas a mostrar> o --context=<número de líneas a mostrar> o-<número de líneas a mostrar> Además de mostrar la línea que coincide con el estilo, también muestra el contenido antes y después de esa línea.
-d <acción> o --directories=<acción> Debe usar este parámetro cuando se especifica un directorio en lugar de un archivo, de lo contrario, la instrucción grep informará y detendrá la acción.
-e<patrón de estilo> o --regexp=<patrón de estilo> Especifique la cadena como el estilo para buscar en el contenido del archivo.
-o --extendido-regexp Utilice el estilo como una expresión regular extendida.
-f<archivo de reglas> o --file=<archivo de reglas> Especifique el archivo de reglas, que contiene una o más estilos de reglas, para que grep busque el contenido del archivo que coincide con las condiciones de la regla, en formato de una regla de estilo por línea.
-o --fijo-regexp Utilice el estilo como una lista de cadenas de caracteres fijas.
-o --básico-regexp Utilice el estilo como una representación común.
-o --no-filename Antes de mostrar la línea que coincide con el estilo, no se indica el nombre del archivo al que pertenece esa línea.
-H o --with-filename : Antes de mostrar la línea que cumple con el estilo, indica el nombre del archivo al que pertenece esa línea.
-i o --ignore-case : Ignora la diferencia en mayúsculas y minúsculas.
-l o --file-with-matches : Lista los nombres de archivos cuyos contents cumplen con el estilo especificado.
-L o --files-without-match : Lista los nombres de archivos cuyos contents no cumplen con el estilo especificado.
-n o --line-number : Antes de mostrar la línea que cumple con el estilo, indica el número de columna de esa línea.
-o o --only-matching : Solo muestra la parte coincidente del PATRÓN.
-q o --quiet o--silent : No muestra ninguna información.
-r o --recursive : El efecto de este parámetro es el mismo que especificar"-"parámetros de recursión" son iguales.
-s o --no-messages : No muestra mensajes de error.
-v o --invert-match : Muestra todas las líneas que no contienen el texto coincidente.
-V o --version : Muestra información de versión.
-w o --word-regexp : Solo muestra las columnas que cumplen con todos los criterios.
-x --line-regexp : Solo muestra las columnas que cumplen con todos los criterios.
-y : El efecto de este parámetro es el mismo que especificar"-i "parámetros son iguales.
1、En el directorio actual, buscar archivos con la extensión file que contienen la cadena de caracteres test y imprimir la línea donde se encuentra esa cadena. En este caso, se puede usar el siguiente comando:
grep test *file
Resultados como se muestra a continuación:
$ grep test test* # Buscar archivos con prefijo “test” que contienen la cadena de caracteres “test” testfile1:Este es un archivo de prueba de Linux! # Listar testfile1 las líneas que contienen el carácter test testfile_2:Este es un archivo de prueba de Linux! # Listar testfile_2 las líneas que contienen el carácter test testfile_2:Linux test # Listar testfile_2 las líneas que contienen el carácter test
2、De manera recursiva buscar archivos que cumplan con los criterios. Por ejemplo, buscar en el directorio especificado/etc/En todos los archivos bajo acpi y sus subdirectorios (si existen subdirectorios), que contienen la cadena de caracteres "update", se imprime el contenido de la línea donde se encuentra esa cadena de caracteres, se utiliza el siguiente comando:
grep -r update /etc/acpi
Los resultados de la salida son los siguientes:
$ grep -r update /etc/acpi # De manera recursiva buscar “etc/acpi # 包含“update”的文件 /etc/acpi/ac.d/85-anacron.sh:# (Cosas como slocate updatedb causan mucho IO.) En lugar de /etc/acpi/resume.d/85-anacron.sh:# (Cosas como slocate updatedb causan muchos IO.) En lugar de /etc/acpi/events/thinkpad-cmos:action=/usr/sbin/thinkpad-keys--update
3de búsqueda inversa. Los ejemplos anteriores son buscar e imprimir las líneas que cumplen con los requisitos a través de"-v"Parámetro puede imprimir el contenido de las líneas que no cumplen con los requisitos.
Buscar archivos cuyo nombre contenga test pero no contengan test en las líneas, en este caso, se utiliza el comando:
grep -v test *test*
Resultados como se muestra a continuación:
$ grep-v test* #Buscar archivos cuyo nombre contenga test pero no contengan test en las líneas testfile1:helLinux! testfile1:Lin es un Unix gratuito-Sistema operativo tipo. testfile1:Lin testfile_1:HELLO LINUX! testfile_1:Linux es un unix gratuito-Sistema operativo tipo. testfile_1:ESTE ES UN ARCHIVO DE PRUEBA DE LINUX! testfile_2:HELLO LINUX! testfile_2:Linux es un unix gratuito-Sistema operativo tipo.