Uso del comando Grep con ejemplos

Uso del comando Grep con ejemplos.

El comando grep (impresión de la expresión regular global), se usa para buscar cadenas de texto y expresiones regulares línea por línea que coincidan con un patrón definido en uno o más archivos.

En este artículo, veremos con ejemplos, como utilizar eficazmente el comando grep en linux, de la misma forma trataremos sus variantes: egrep y fgrep.

 

El comando Grep con ejemplos

Buscar en un archivo especifico:

Buscamos la linea que contiene ‘DB_USER‘ en el archivo de configuración “wp-config.php” de WordPress.

ejemplo de salida…

define(‘DB_USER’, ‘usuariobasededatos’);

 

Buscar en todos los archivos:

Buscamos en el directorio “wp-admin” y solo en los archivos “php“, las lineas que incluyan el texto ‘str_replace‘.

ejemplo de salida…

admin-ajax.php: add_action( ‘wp_ajax_’ . $_GET[‘action’], ‘wp_ajax_’ . str_replace( ‘-‘, ‘_’, $_GET[‘action’] ), 1 );
admin-ajax.php: add_action( ‘wp_ajax_’ . $_POST[‘action’], ‘wp_ajax_’ . str_replace( ‘-‘, ‘_’, $_POST[‘action’] ), 1 );
admin-header.php:$admin_body_class .= ‘ branch-‘ . str_replace( array( ‘.’, ‘,’ ), ‘-‘, floatval( $wp_version ) );
admin-header.php:$admin_body_class .= ‘ version-‘ . str_replace( ‘.’, ‘-‘, preg_replace( ‘/^([.0-9]+).*/’, ‘$1’, $wp_version ) );
admin-header.php:$admin_body_class .= ‘ locale-‘ . sanitize_html_class( strtolower( str_replace( ‘_’, ‘-‘, get_locale() ) ) );

 

Buscar en todos los archivos identificando la linea:

Buscamos en el directorio “wp-admin” y solo en los archivos “php“, las lineas que incluyan el texto ‘str_replace‘. Este comando es similar al anterior, con la particularidad que nos indica el numero de linea donde se encuentra la expresión.

ejemplo de salida…

admin-ajax.php:73: add_action( ‘wp_ajax_’ . $_GET[‘action’], ‘wp_ajax_’ . str_replace( ‘-‘, ‘_’, $_GET[‘action’] ), 1 );
admin-ajax.php:76: add_action( ‘wp_ajax_’ . $_POST[‘action’], ‘wp_ajax_’ . str_replace( ‘-‘, ‘_’, $_POST[‘action’] ), 1 );
admin-header.php:157:$admin_body_class .= ‘ branch-‘ . str_replace( array( ‘.’, ‘,’ ), ‘-‘, floatval( $wp_version ) );
admin-header.php:158:$admin_body_class .= ‘ version-‘ . str_replace( ‘.’, ‘-‘, preg_replace( ‘/^([.0-9]+).*/’, ‘$1’, $wp_version ) );
admin-header.php:160:$admin_body_class .= ‘ locale-‘ . sanitize_html_class( strtolower( str_replace( ‘_’, ‘-‘, get_locale() ) ) );

 

Buscar archivos recursivamente que contengan un texto especifico:

Este comando es similar a los anteriores, pero solo nos imprimirá en pantalla el nombre de los archivos que contienen ‘str_replace‘.

ejemplo de salida…

admin-ajax.php
admin-header.php

 

El comando grep permite la combinación con otros comandos, vemos algunos ejemplos.

 

Buscar archivos con un texto definido en la carpeta actual:

Hacemos una búsqueda de los archivos “php” en la carpeta donde nos encontremos en ese momento, que contengan el texto ‘eval‘. Combinamos “grep” con “find“.

ejemplo de salida…

./wp-admin/includes/image.php
./wp-admin/includes/class-wp-upgrader.php
./wp-admin/includes/class-pclzip.php
./wp-admin/includes/media.php
./wp-admin/includes/update-core.php
./wp-admin/includes/ajax-actions.php
./wp-admin/includes/class-wp-automatic-updater.php
./wp-admin/includes/class-wp-posts-list-table.php
./wp-admin/user-edit.php
./wp-admin/edit-tag-form.php

 

Listar procesos de Apache:

Combinando “grep” con “ps aux“, listamos los procesos de Apache.

ejemplo de salida…

root         19357 0.0 0.1 433928 22380 ? Ss mar05 0:01 /usr/sbin/httpd -DFOREGROUND
apache    25539 0.0 0.0 276728 9140 ? S 03:37 0:00 /usr/sbin/httpd -DFOREGROUND
apache    25541 0.0 0.0 436012 11092 ? S 03:37 0:00 /usr/sbin/httpd -DFOREGROUND
apache    25542 0.2 0.4 2361240 69560 ? Sl 03:37 0:29 /usr/sbin/httpd -DFOREGROUND
apache    25543 0.0 0.4 2361240 70536 ? Sl 03:37 0:09 /usr/sbin/httpd -DFOREGROUND
apache    25546 0.0 0.4 2361240 67648 ? Sl 03:37 0:09 /usr/sbin/httpd -DFOREGROUND
apache    27003 0.0 0.4 2361240 72088 ? Sl 03:40 0:11 /usr/sbin/httpd -DFOREGROUND
root         56885 0.0 0.0 112732 980 pts/0 S+ 06:57 0:00 grep –color=auto http

 

Ver el socket del ID de un proceso:

En este caso probaremos el “id 25546”.

ejemplo de salida…

httpd 25546 apache cwd DIR 8,2 4096 2 /
httpd 25546 apache mem REG 8,2 91528 23729450 /usr/lib64/php-zts/modules/sockets.so
httpd 25546 apache mem REG 8,2 15392 23205555 /usr/lib64/httpd/modules/mod_unixd.so
httpd 25546 apache 1u unix 0xffff8bb764960000 0t0 5922520 socket
httpd 25546 apache 3u sock 0,7 0t0 5923227 protocol: TCP
httpd 25546 apache 5u sock 0,7 0t0 5923235 protocol: TCP

 

Ver el numero de conexiones a un puerto:

Combinando”grep” con el comando “netstat” podemos imprimir en pantalla el numero de conexiones de un puerto (en el ejemplo el 80).

ejemplo de salida…

1827

 

Eliminar mensajes congelados de Exim:

Eliminamos todos los mensajes congelados de la cola de correo de Exim.

ejemplo de salida…

Message 1dChLr-0000y6-D1 has been removed
Message 1dPinU-0000Ld-S3 has been removed
Message 1dPaox-0000OC-A8 has been removed

 

Buscar archivos con un patrón de texto:

Buscamos archivos que contengan el patrón “sololinux“.

Con el comando “egrep” podemos buscar varios patrones a la vez (en el ejemplo buscamos sololinux y adminserver).

ejemplo…

sololinux=/var/cache/yum/$basearch/$releasever
adminserver=lm_sensors*

Por ultimo usaremos el comando “fgrep“, que buscara un archivo o lista de archivos de una cadena de patrón fija.

ejemplo…

 

Damos por concluido el articulo “Uso del comando Grep con ejemplos“, compártelo.

 

Uso del comando Grep con ejemplos
4.8 (95%) 4 Votos

Agregar comentario