Ingresar  \/ 
x
 Use Facebook account  Use Google account  Use Microsoft account  Use LinkedIn account
o
x

Buscar Texto Dentro de Archivos en Linux

buscar texto dentro de archivos en linux 

Buscar Texto Dentro de Archivos en Linux. ¿Tienes una gran colección de archivos de texto regados en todas partes? Y no sabes encontrar el que necesitas. Te tenemos la solución! En este tutorial te mostramos cómo buscar una cadena de texto dentro de los archivos en Linux. 

Ahora, puedes buscar en miles de archivos en cualquier servidor basado en Linux o Unix. Lo puedes hacer con el comando grep. Con grep puedes ver dentro de los archivos en Linux.

Los siguientes comandos te mostraran la sintaxis del comando grep

grep "text string to search” directory-path
grep [option] "text string to search” directory-path
grep -r "text string to search” directory-path
grep -r -H "text string to search” directory-path
egrep -R "word-1|word-2” directory-path
egrep -w -R "word-1|word-2” directory-path 

 

A continuación, te mostraremos un ejemplo de sus usos 

Para este ejemplo, busque una cadena llamada 'redeem reward' en todos los archivos de texto (* .txt) ubicados en el directorio / home / tom /, use: 

$ grep "redeem reward" /home/tom/*.txt
$ grep "redeem reward" ~/*.txt

 

TAREA. BUSCAR TODOS LOS SUBDIRECTORIOS 

Puede buscar el texto para todos los archivos debajo de cada directorio, con la opción -r, de esta forma: 

$ grep -r "redeem reward" /home/tom/
$ grep -R "redeem reward" /home/tom/ 

 

TAREA. SOLO MOSTRAR NOMBRES DE ARCHIVOS

El comando grep imprime las líneas correspondientes. Puede usar la opción -H para imprimir el nombre del archivo, de esta forma: 

$ grep -H -r "redeem reward" /home/tom

 

Salidas de muestra: 

filename.txt: redeem reward
foobar.txt: redeem reward

...

Para mostrar el nombre del archivo, puede usar el siguiente comando: 

$ grep -H -R vivek /etc/* | cut -d: -f1

 

Salidas de muestra: 

filename.txt
foobar.txt
...

 

TAREA. SUPRIMIR LOS NOMBRES DE LOS ARCHIVOS

El comando grep muestra el resultado en una línea, y está precedido por el nombre del archivo en el que se encontró en el caso de varios archivos. Puede escribir la opción -h para suprimir la inclusión de los nombres del archivo en el resultado:

$ grep -h -R 'main()' ~/projects/*.c

 

TAREA. MOSTRAR SOLO PALABRAS

Puede seleccionar solo aquellas líneas que contienen coincidencias y que forman palabras completas, para este caso puede usar la opción -w. En este ejemplo, busque la palabra 'getMyData ()' solo en ~ / projects / dirctory:

$ grep -w -R 'getMyData()' ~/projects/

 

TAREA: BUSCAR DOS O MÁS PALABRAS

Use el comando egrep de la siguiente manera:

$ egrep -w -R 'word1|word2' ~/projects/

 

TAREA. OCULTAR SPAM DE ADVERTENCIA

El comando grep puede generar un mensaje de error, debido a permisos y otros problemas como los siguientes: 

No existe dicho archivo o directorio 
No existe tal dispositivo o dirección 
Permiso denegado 

Para ocultar todos los errores o mensajes de advertencia de spam generados por el comando grep, agregue el comando 2 / dev / null a grep. Esto enviará y ocultará la salida no deseada a / dev / null device, por ejemplo puedes usarlo de la siguiente manera:

$ grep -w -R 'getMyData()' ~/projects/ 2>/dev/null

 

TAREA. IGNORAR CASO

Nuestro ejemplo final ignora las distinciones de casos tanto en el patrón de búsqueda como en los archivos de entrada, puede usar el siguiente comando:

grep -i -R 'word' /path/to/dir
grep -i -r 'income tax' ~/accounting/ 

Esperamos que este tutorial te haya sido útil y esperamos tus buenos comantarios ;) ;)

Sobre el Autor
Pipe Peña
Author: Pipe Peña
Soy un loco enamorado de la vida. Licenciado en Ciencias Sociales y Humanas, amante de la informática y la astrofísica. Me gusta crear e investigar proyectos que enriquezcan la construcción y desarrollo del conocimiento individual y colectivo. Me encantan los videojuegos, el cine, la química, matemáticas, la física cuántica y la música, en donde actualmente soy compositor. Me baso en la idea que toma Baruch Spinoza sobre Dios.

ImprimirCorreo electrónico