comando grep para buscar texto. Al buscar en un archivo (directorio) determinado las líneas que coinciden con una cadena o palabra determinada.
La palabra "grep" proviene de un comando debajo de ed (editor de texto), y el nombre proviene de g / re / p (buscar globalmente una expresión regular e imprimir, que utiliza una expresión regular para la búsqueda e impresión global). En ed, después de ingresar el comando g / re / p, todas las cadenas que coincidan con el estilo predefinido se imprimirán en unidades de filas.
Sintaxis del comando grep en Linux
grep 'word' 文件名–搜索文件名中包的任何word
grep -i 'bar' 文件名 –不区分大小写的搜索“ bar”一词
grep -R 'foo' . – 当前目录及其所有子目录中的所有文件中搜索单词“ foo”
grep -c 'hello' readme.md – 搜索并显示字符串“ hello”出现在名为readme.md的文件中的总次数。
Use grep para buscar archivos en Linux
Busque el usuario xxx en el archivo / etc / passwd, ingrese:
grep xxx /etc/passwd
Puede forzar el parámetro -i para ignorar mayúsculas y minúsculas:
grep -i "xxx" /etc/passwd
Inserte la descripción de la imagen aquí
Use grep para buscar archivos de forma recursiva
Busque archivos de forma recursiva, es decir, busque la cadena "127.0.0.1" en todos los archivos de cada directorio
sudo grep -r "127.0.0.1" /etc/
Si busca registros relacionados, puede ver los resultados en cada fila.
(Por ejemplo, /etc/hosts:127.0.0.1localhost). Puede usar la opción -h del siguiente método para prohibir que el nombre del archivo se incluya en los datos de salida:
grep -h -R "127.0.0.1" /etc/
Use grep para buscar solo palabras
Al buscar una palabra (por ejemplo, palabra), grep coincidirá con todas las palabras que contengan una palabra. Puede forzar el comando grep para seleccionar solo las líneas que contienen coincidencias que conforman la palabra completa, es decir, solo coinciden exactamente con la palabra palabra:
grep -w "word" file
Usa grep para buscar 2 palabras diferentes
egrep -w 'word1|word2' /path/to/file
Cómo contar el número de líneas después de la coincidencia de palabras
grep puede usar la opción -c (cuenta) para calcular cuántas coincidencias hay:
grep -c 'word' /path/to/file
Use el parámetro -n para mostrar el número de línea:
grep -n 'root' /etc/passwd
Forzar grep para revertir la coincidencia
Use el parámetro -v para imprimir coincidencias inversas; es decir, coincida solo con aquellas líneas que no contienen la palabra dada. Por ejemplo, para imprimir todas las líneas que no contienen barra:
grep -v bar /path/to/file
Canalización de Linux y comando grep
El comando grep generalmente se usa con el comando shell pipe (|). En este ejemplo, se muestra el nombre del dispositivo de disco duro:
`dmesg | egrep '(s|h)d[a-z]'`
Mostrar el nombre del modelo de la CPU:
cat /proc/cpuinfo | grep -i 'Model'
El comando anterior para mostrar el modelo de CPU también se puede usar de la siguiente manera, lo que elimina la necesidad de combinar comandos de canalización:
grep -i 'Model' /proc/cpuinfo
Lista solo los nombres de los archivos coincidentes
Use la opción -l para enumerar solo los nombres de carpetas que contienen caracteres coincidentes sin mostrar líneas específicas.
Por ejemplo, el siguiente ejemplo muestra qué archivos de lenguaje C contienen el nombre de archivo de main:
grep -l 'main' *.c
Resumen de los parámetros del comando grep en Linux