Las utilidades head y tail se utilizan a menudo para analizar archivos de registro. De forma predeterminada, generan 10 líneas de texto. Aquí están los usos principales.
Enumere las primeras líneas de /var/log/messages:
Imagen
Enumere 20 últimas líneas de /etc/aliases:
La utilidad de tail tiene una opción añadida que permite listar el final de un texto que comienza en una línea dada.
Listar el texto que comienza en la línea 25 en /var/log/messages:
Ejercicio: Si un texto tiene 90 líneas, ¿cómo usarías la tail y la head para listar las líneas 50 a 65? ¿Hay solamente una manera de hacer esto?
Finalmente, la tail puede leer continuamente un archivo usando la opción -f. Esto es muy útil cuando se espera que un archivo se modifique en tiempo real.
contar líneas, palabras y bytes
La utilidad wc cuenta el número de bytes, palabras y líneas en los archivos. Varias opciones le permiten controlar la salida de wc.
Opciones para wc
Opción
| Descripción |
---|---|
-l
|
Cuenta el numero de lineas
|
-w
| Cuenta el numero de palabras |
-c o -m
|
Numero de bytes o caracteres
|
Observaciones:
Sin argumento wc contará lo que se escribe en stdin.
líneas de numeración
La utilidad nl tiene la misma salida que cat -b.
Numere todas las líneas incluyendo espacios en blanco
Numerar sólo líneas con texto
sustitución de tabs por espacios
El comando de expand se utiliza para reemplazar los TAB con espacios. También se puede utilizar unexpand para las operaciones inversas.
visualización de archivos binarios
Hay una serie de herramientas disponibles para esto. Los más comunes son od (octal dump) y hexdump.
división de archivos
La herramienta split puede dividir un archivo en archivos más pequeños utilizando criterios como el tamaño o el número de líneas. Por ejemplo podemos dividir /etc/passwd en archivos más pequeños que contienen 5 líneas cada uno
Esto creará archivos llamados xaa, xab, xac, xad ... cada archivo contiene al menos 5 líneas. Es posible dar un nombre de prefijo más significativo para los archivos (que no sean 'x') como 'pass-5'. En la línea de comandos
Esto ha creado archivos idénticos a los anteriores (aa, xab, xac, xad ...) pero los nombres son ahora passwd-5aa, passwd-5ab, passwd-5ac, passwd-5ad ...
Borrado de líneas duplicadas consecutivas
La herramienta uniq enviará a STDOUT sólo una versión de líneas consecutivas idénticas. Considera lo siguiente
ejemplo:
El archivo /tmp/UNIQUE tiene el siguiente contenido:
Nota: A partir del ejemplo anterior vemos que al usar uniq las líneas no consecutivas idénticas todavía se imprimen a STDOUT. ¿Cuál es el contenido de /tmp/UNIQUE si primero enviamos el STDIN a través de sort
0 Comentarios