Tutoriales

Cómo usar el comando Grep en Linux [12 Useful Examples]

¿Alguna vez le han pedido que busque una cadena o patrón específico en un archivo, pero no sabía por dónde empezar?Bueno, aquí está grep ¡rescate!

grep es un poderoso buscador de patrones de archivos que viene con cada distribución linuxSi por alguna razón no está instalado en su sistema, puede instalarlo fácilmente a través del administrador de paquetes como se muestra.

$ sudo apt install grep         [On Debian, Ubuntu and Mint]
$ sudo yum install grep         [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]
$ sudo emerge -a sys-apps/grep  [On Gentoo Linux]
$ sudo apk add grep             [On Alpine Linux]
$ sudo pacman -S grep           [On Arch Linux]
$ sudo zypper install grep      [On OpenSUSE]    

Encontré que la forma más fácil es usar comando grep Simplemente sumérjase y use algunos ejemplos del mundo real.

1. Buscar y encontrar archivos en Linux

Digamos que acaba de instalar el nuevo ubuntu En su máquina, le daría Pitón Escribe el tiro.

Ha estado buscando tutoriales en Internet y descubrió que hay dos versiones diferentes de Pitón En uso, no sabe qué versión de Python instaló el instalador en Ubuntu, o si instaló algún módulo.

Publicaciones relacionadas

Simplemente ejecute el siguiente comando dpkg grep como muestra la imagen:

# dpkg -l | grep -i python

Use el comando Grep para buscar archivos

ii  libpython3-stdlib:amd64                    3.8.2-0ubuntu2                      amd64        interactive high-level object-oriented language (default python3 version)
ii  libpython3.8:amd64                         3.8.10-0ubuntu1~20.04.5             amd64        Shared Python runtime library (version 3.8)
ii  libpython3.8-minimal:amd64                 3.8.10-0ubuntu1~20.04.5             amd64        Minimal subset of the Python language (version 3.8)
ii  libpython3.8-stdlib:amd64                  3.8.10-0ubuntu1~20.04.5             amd64        Interactive high-level object-oriented language (standard library, version 3.8)
ii  python-apt-common                          2.0.0ubuntu0.20.04.8                all          Python interface to libapt-pkg (locales)
ii  python3                                    3.8.2-0ubuntu2                      amd64        interactive high-level object-oriented language (default python3 version)
ii  python3-apport                             2.20.11-0ubuntu27.24                all          Python 3 library for Apport crash report handling
ii  python3-apt                                2.0.0ubuntu0.20.04.8                amd64        Python 3 interface to libapt-pkg
ii  python3-aptdaemon                          1.1.1+bzr982-0ubuntu32.3            all          Python 3 modules for the server and client of aptdaemon
ii  python3-aptdaemon.gtk3widgets              1.1.1+bzr982-0ubuntu32.3            all          Python 3 GTK+ 3 widgets to run an aptdaemon client
ii  python3-blinker                            1.4+dfsg1-0.3ubuntu1                all          fast, simple object-to-object and broadcast signaling library
ii  python3-brlapi:amd64                       6.0+dfsg-4ubuntu6                   amd64        Braille display access via BRLTTY - Python3 bindings
...

Primero, corrimos dpkg –lque enumera los instalados *.deb paquetes en el sistema.En segundo lugar, canalizamos esa salida al grep –i python, que simplemente dice «ir a grep y filtrar y devolver todo con ‘Pitón‘ en el interior. «

Este –i La opción es ignorar el caso porque grep Distingue mayúsculas y minúsculas.usar –i La selección es una buena práctica para ingresar, a menos que, por supuesto, esté tratando de precisar una búsqueda más específica.

2. Buscar y filtrar archivos en Linux

Este grep También se puede usar para buscar y filtrar dentro de un solo archivo o en varios archivos. Echemos un vistazo a este escenario:

tienes algunos problemas servidor web apachey se ha comunicado con uno de los muchos foros excelentes en la web para obtener ayuda.

La amable persona que te respondió te pidió que publicaras tu contenido. /etc/apache2/apache2.conf documento. ¿No sería más fácil para usted, la persona que lo ayuda y todos los que lo leen si pudiera eliminar todas las líneas comentadas? ¡Bien tu puedes! ejecuta esto:

# grep -v ^\# /etc/apache2/apache2.conf | grep  .

Este –v opción decir grep invierte su salida, lo que significa que en lugar de imprimir líneas coincidentes, hace lo contrario e imprime todas las líneas que no coinciden con la expresión, en este caso, # línea de comentarios.

Tenga en cuenta que también usamos el grep . Finalmente, para ocultar la salida de todas las líneas vacías. De esta forma solo podremos ver los ajustes de configuración en el terminal.

Imprima el contenido del archivo excluyendo comentarios y líneas en blanco

DefaultRuntimeDir ${APACHE_RUN_DIR}
PidFile ${APACHE_PID_FILE}
Timeout 300
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5
User ${APACHE_RUN_USER}
Group ${APACHE_RUN_GROUP}
HostnameLookups Off
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
IncludeOptional mods-enabled/*.load
IncludeOptional mods-enabled/*.conf
Include ports.conf

	Options FollowSymLinks
	AllowOverride None
	Require all denied


3. Encuentra todos los archivos .mp3 en Linux

Este grep puede ser muy útil para filtrar salida estándarPor ejemplo, suponga que tiene una carpeta completa llena de archivos de música en varios formatos.

quieres encontrar todo *.mp3 del archivo del artista jay chou, pero no desea ninguna pista remezclada.usa uno encontrar comando hay algunos grep Las tuberías pueden hacer el truco:

# find . –name “*.mp3” | grep –i JayZ | grep –vi “remix”

En este ejemplo usamos Buscar imprimir todos los documentos *.mp3 extensión, lo canaliza a grep –i filtrar e imprimir el nombre como «jay chou‘ y luego otra pipa para grep –vi Filtra y no imprime todos los nombres de archivo con cadenas (en cualquier caso)»remezclar«.

[ You might also like: 35 Practical Examples of Linux Find Command ]

4. Muestra el número de líneas antes y después de la cadena de búsqueda

Otras opciones son –A y –B Cambie para mostrar las líneas coincidentes y el número de líneas antes o después de la cadena de búsqueda.

Si bien la página de manual proporciona una explicación más detallada, las opciones que encuentro más fáciles de recordar son –A = espalday –B = delantero:

# ifconfig | grep -A 4 inet
# ifconfig | grep -B 2 UP
Imprime el número de líneas antes y después de la cadena.

5. Imprime el número de líneas alrededor del partido

grep –C Las opciones son similares, pero en lugar de imprimir las líneas antes o después de la cadena, las líneas se imprimen en cualquier dirección:

# ifconfig | grep -C 2 lo

 TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 15314  bytes 1593769 (1.5 MB)
        RX errors 0  dropped 0  overruns 0  frame 0

6. Cuenta el número de coincidencias

Similar a la tubería a grep Conteo de cadenas a palabras (comando wc) Las opciones integradas de grep pueden hacer lo mismo por usted:

# ifconfig | grep -c inet6

7. Busque un archivo por una cadena dada en Linux

Este –n opciones grep Útil al depurar archivos durante errores de compilación. Muestra el número de línea en el archivo para la cadena de búsqueda dada:

# grep -n "main" setup.py

8. Busque recursivamente una cadena en todos los directorios

Si desea buscar una cadena en el directorio actual y todos sus subdirectorios, puede especificar –r Opciones de búsqueda recursiva:

# grep -r “function” *

9. Busca en todo el patrón

pasar -w La opción de grep busca patrones completos en cadenas. Por ejemplo, utilice:

# ifconfig | grep -w "RUNNING"

imprimirá las líneas que contienen el patrón entre comillas. Por otro lado, si intentas:

# ifconfig | grep -w "RUN"
encontrar el patrón completo
encontrar el patrón completo

No se devolverá nada porque no estamos buscando un patrón, estamos buscando palabras completas.

10. Busque una cadena en un archivo comprimido

Vale la pena mencionar los derivados de grep.el primero es zgrepEsto es similar a gato gatopor compresión documento.Toma las mismas opciones que grep y usar de la misma manera:

# zgrep -i error /var/log/syslog.2.gz
Buscar una cadena en archivos comprimidos
Buscar una cadena en archivos comprimidos

11. Haz coincidir expresiones regulares en archivos

El comando egrep es otro derivado que significa «Expresiones regulares globales extendidas«. Reconoce metacaracteres de expresión adicionales como at + ? | y ().

[ You might also like: What’s Difference Between Grep, Egrep, and Fgrep in Linux? ]

egrep Útil para buscar archivos fuente y otros fragmentos de código si es necesario.Se puede llamar desde regular grep especificando –E opciones

# grep -E

12. Busque cadenas de patrones fijos

Este fgrep Busca una cadena de patrón fijo en un archivo o lista de archivos.esto con grep -FUn uso común fgrep es pasarle el archivo de esquema:

# fgrep –f file_full_of_patterns.txt file_to_search.txt

Ésto es sólo un punto de inicio grep, pero como probablemente pueda ver, es invaluable para una variedad de usos. Además de los comandos simples de una línea que hemos implementado, grep se puede usar para escribir poderoso plan trabajando y robusto guión de shellComo un inicio.

[ You might also like: 11 Advanced Linux ‘Grep’ Commands on Character Classes and Bracket Expressions ]

ponte creativo, prueba página many presente expresión grep Sirve a tus propios propósitos!

LEER  Microsoft Edge está oficialmente disponible hoy para Linux como navegador estable

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba