Está en la página 1de 8

Texto y búsquedas

Procesamiento de texto
Visualización de archivos

● cat muestra el contenido de un archivo de texto

● tac muestra el contenido de un archivo en orden reverso.

● head muestras las primeras líneas (por defecto 10) de un archivo.

● tail muestras las últimas líneas (por defecto 10) de un archivo.

● sort ordena el contenido de un archivo.

● more muestra el contenido de un archivo por páginas. Solo permite bajar.

● less muestra el contenido de un archivo por páginas. Permite bajar y subir.

● Dentro del comando more o less podemos usar las teclas:

/ Para buscar texto


n Para encontrar la siguiente coincidencia de texto.
N Para encontrar la coincidencia de texto anterior.
q Para salir del programa.
Procesamiento de texto
● Ejemplo 1: mostrar el contenido de /etc/hosts, luego con número de líneas y al revés
$ cat /etc/hosts
$ cat -n /etc/hosts
$ tac /etc/hosts

● Ejemplo 2: mostrar las primeras y últimas 10 y 15 líneas de /etc/logrotate.conf


$ head /etc/logrotate.conf
$ head -15 /etc/logrotate.conf
$ tail /etc/logrotate.conf
$ tail -15 /etc/logrotate.conf

● Ejemplo 3: mostrar de línea 6 en adelante, luego todas excepto las 3 últimas de /etc/fstab
$ tail -n +6 /etc/fstab
$ head -n -3 /etc/fstab

● Ejemplo 4: ordenar /etc/services en orden ascendente y descendente


$ sort /etc/services
$ sort -r /etc/services

● Ejemplo 5: visualizar /etc/services con el comando more y less. Una vez dentro probar buscar la
palabra “microsoft” escribiendo /microsoft y luego las teclas n y N
Procesamiento de texto
Filtrado diverso de texto

● grep filtra líneas que coincidan con un patrón de texto.

● sed realiza diversas tareas sobre texto como filtrar coincidencias, buscar y
reemplazar, filtrar rangos de líneas.

● wc reporta la cantidad de caracteres, palabras y líneas.

● cut filtra líneas de texto por caracteres y columnas con separadores en común.

● uniq suprime líneas duplicadas

● tr elimina y reemplaza caracteres


Procesamiento de texto
● Ejemplo 1: filtrar las líneas que contienen “microsoft” de /etc/services, luego repetir la
búsqueda insensible a mayúsculas
$ grep microsoft /etc/services
$ grep -i microsoft /etc/services

● Ejemplo 2: filtrar las líneas que coinciden con “dev” y luego las que no coinciden de
/etc/fstab
$ grep dev /etc/fstab
$ grep -v dev /etc/fstab

● Ejemplo 3: observar /etc/fstab y reemplazar “dev” por “DEB”:


$ cat /etc/fstab
$ sed -e "s/dev/DEB/g" /etc/fstab

● Ejemplo 4: reportar la cantidad de líneas, palabras y caracteres de /etc/nsswitch.conf


$ wc -l /etc/nsswitch.conf
$ wc -w /etc/nsswitch.conf
$ wc -c /etc/nsswitch.conf
Procesamiento de texto
● Ejemplo 5: mostrar desde el caracter 5 en adelante de cada línea de /etc/fstab
$ cut -c 5- /etc/fstab

● Ejemplo 6: mostrar desde la columna 2 a la 4 de /etc/paswd separado por dos puntos


$ cut -d : -f 2-4 /etc/passwd

● Ejemplo 7: crear un archivo nombres.txt que contenga varios nombres, muchos de


ellos repetidos. Luego remover los repetidos, mostrar solo los repetidos, no repetidos
y el reporte de repeticiones.
$ sort nombres.txt | uniq
$ sort nombres.txt | uniq -d
$ sort nombres.txt | uniq -u
$ sort nombres.txt | uniq -c

● Ejemplo 8: eliminar las vocales de nombres.txt, luego pasar todo a mayúsculas


$ cat nombres.txt | tr -d aeiou
$ cat nombres.txt | tr a-z A-Z
Búsqueda de archivos
● Buscar en /etc los archivos con nombre “*team*”, luego ignorando mayúsculas:
# find /etc -name "*team*"
# find /etc -iname "*team*"

● Buscar en /usr los archivos mayores a 30 MB de tamaño:


# find /usr -size +30M

● Buscar en /dev los archivos que no son del usuario root:


# find /dev ! -user root

● Buscar en /usr solo los directorios de nombre exacto “bin”:


# find /usr -type d -name bin

● Buscar en /home los archivos (no directorios) modificados hace 1 día o menos y por
cada uno encontrado ejecutar el comando ls -lhd
# find /home -type f -mtime -1 -exec ls -lh {} \;

También podría gustarte