Vamos a ver varios comandos para manipular y analizar el contenido de archivos en Linux.

 

 
  • comando grep
  • comando wc
  • comando cut
  • comando paste
  • comando sort
  • comando diff

 

 

Comando grep

 

–> Comando grep: buscar en un archivo

El comando grep busca las palabras coincidentes en el archivo en el que indiquemos buscar.

 
En este caso le indicamos al comando grep que deseamos buscar el texto “prueba” dentro del archivo “hola
 
   

 

 
 

Podemos ver que ha encontrado el texto deseado y lo muestra.

 

–> Comando grep: buscar en archivos de directorios

 
Para buscar en los archivos de un directorio entero, hemos de proporcionar el nombre de directorio.
 
Si deseamos buscar en el directorio actual, teclearemos:

grep -r "prueba" .

 

 
Es decir, queremos buscar el texto “prueba” en los archivos del directorio actual (por eso ponemos un punto al final). También hemos incluido la opción -r (recursivo) que busca recursivamente en todos los subdirectorios del directorio actual.

 

También podríamos especificar el directorio en lugar de poner un punto (el punto significa que busque en el directorio actual).
 

 

 

grep: parámetro -i (evita distinguir entre mayúsculas y minúsculas)

 
Por defecto grep distingue entre mayúsculas y minúsculas, pero podemos evitarlo utilizando el parámetro -i
 

 

 

* Otros trucos interesantes para utilizar el comando grep en Linux

 
–> Para mostrar el número de líneas, usaremos el parámetro -n
 
por ejemplo:

grep -n "prueba" hola

 
–> aunque en la siguiente captura hemos incluido también el parámetro -i, para evitar distinguir entre mayúsculas y minúsculas:

 

 
–> Mostrar las líneas no coincidentes con el texto que busquemos en un documento (parámetro -v):

grep -v "pruebas" hola

 
Buscará y mostrará por pantalla las líneas de un documento/archivo que no coinciden con el texto que buscamos:


 

 

Comando wc

 

El comando wc en Linux sirve para contar número de palabras, líneas y caracteres en un archivo.

 
Por ejemplo, primero mostraremos el contenido del archivo “hola”, y después ejecutaremos 2 parámetros del comando wc para ver cómo funciona.
 
Después de ver el contenido del archivo hola, vamos a mostrar la línea con más caracteres del archivo, con el parámetro -L

wc -L hola

 

Y ahora utilizaremos el parámetro -l para imprimir el número de líneas del archivo:

wc -l hola

 

 

 

–> Ayuda comando wc en Linux


 

 

Comando cut

 

El comando cut extrae partes de ficheros. Podemos especificar qué deseamos extraer.

 
Primero, por medio del comando echo, crearemos un archivo con varias filas y columnas

por ejemplo:

echo -e "columna1 columna2 columna3\ncol1-fila2 col2-fila2" >> nuevo.txt

 

 

Ahora mostramos el contenido del archivo creado:

cat nuevo.txt

 

 

A continuación, con el comando cut, extraeremos la primera columna de todas las filas:

cut -f1 -d' ' nuevo.txt

 

 

A continuación vemos una explicación de las opciones del comando cut en linux:


 
–> Con el parámetro -f seleccionamos el número de columna deseada.

–> Con el parámetro -d especificamos el delimitador.

 

 

Comando paste

 

El comando paste combina las líneas de archivos.

 

Primero mostramos el contenido del archivo1.txt y el archivo2.txt

y luego ejecutamos el comando paste, y vemos cómo ha combinado las líneas de los archivos:

paste archivo1.txt archivo2.txt

 

 

Pero si utilizamos el parámetro -s, vemos que combina las líneas, pero no en la misma línea, porque lo que hace es usar un fichero cada vez (no los dos a la vez):
 

 

–> Ayuda del comando paste en Linux:

 

 

Comando sort

 

El comando sort ordena lineas de texto, a partir de varios criterios.

 

Si no añadimos ningún parámetro, ordenará de alfabéticamente por defecto.


 

Otros parámetros del comando sort:

-b (descarta los espacios en blanco al principio)

-n (ordena por valor numérico)

-o archivo.txt (escribe el resultado el archivo.txt)


 

 

Comando diff

diff compara ficheros línea por línea.

 

 
< denota que es el primer archivo

> denota que es el segundo archivo

 

Los siguientes parámetros del comando diff también son muy útiles:

-b (ignora los espacios en blanco)

-r (recursivo)

-q (indica solo los ficheros diferentes)

 

diff también nos permite comparar los archivos de directorios, y nos mostrará los archivos que difieren en los directorios.

por ejemplo:

diff -rq dir1 dir2

 

 
diff nos aclara que un archivo con el mismo nombre es distinto en un directorio y en el otro.

También nos especifica los archivos que solo están en uno de los dos directorios.

 

 

En este post hemos visto unos cuantos comandos Linux para manipular y analizar el contenido de archivos en Linux.

Si quieres ampliar información sobre este tema, puedes leer este enlace.


Etiquetas del articulo: ,


Suscríbete para acceder a la zona privada

Suscribiéndote a la lista de correo de El Taller del Bit conseguirás entrar a la zona privada de descargas con materiales exclusivos (ebooks, artículos privados, plugins, descargas de exámenes resueltos ...)

Gracias. Te has suscrito con éxito!