Herramientas de administración del sistema: mostrar texto en Linux con cola y cabeza

Hay muchos comandos para mostrar el contenido de los archivos en Linux. Entre estos, el tail y head Los comandos imprimen la salida de las últimas y primeras diez líneas de un archivo, respectivamente. En algunos casos, la salida o el error de su trabajo o script enviado crea un archivo muy grande y el resultado más reciente se imprime al final del archivo. Puedes usar tail, en vez de cat comando, para mostrar solo las últimas líneas del archivo. A veces se necesitan múltiples opciones con el tail comando para mostrar correctamente el contenido del archivo. A continuación demostraré el uso de tail y head pedidos.

La sinopsis de los dos comandos es la siguiente:

tail [OPTION]... [FILE]...
head [OPTION]... [FILE]...

También creé dos archivos de saludos en diferentes idiomas con números de línea. Cada archivo contiene un total de 15 líneas. Veamos el contenido de los archivos con un simple cat pedido:

[email protected]:~# cat greetings1.txt
1 Jai Bhim
2 Jai Bhim
3 Jai Bhim
4 Jai Bhim
5 Jai Bhim
6 Jai Bhim
7 Jai Bhim
8 Jai Bhim
9 Jai Bhim
10 Jai Bhim
11 Jai Bhim
12 Jai Bhim
13 Jai Bhim
14 Jai Bhim
15 Jai Bhim
[email protected]:~# cat greetings2.txt
1 Good Morning
2 Good Morning
3 Good Morning
4 Good Morning
5 Good Morning
6 Good Morning
7 Good Morning
8 Good Morning
9 Good Morning
10 Good Morning
11 Good Morning
12 Good Morning
13 Good Morning
14 Good Morning
15 Good Morning

Ahora usaré los dos tail y head comandos sin ninguna opción para mostrar el greetings1.txt archivar. el tail comando me da salida de las últimas diez líneas, mientras que el head comando me da las primeras diez líneas.

[email protected]:~# tail greetings1.txt
6 Jai Bhim
7 Jai Bhim
8 Jai Bhim
9 Jai Bhim
10 Jai Bhim
11 Jai Bhim
12 Jai Bhim
13 Jai Bhim
14 Jai Bhim
15 Jai Bhim
[email protected]:~# head greetings1.txt
1 Jai Bhim
2 Jai Bhim
3 Jai Bhim
4 Jai Bhim
5 Jai Bhim
6 Jai Bhim
7 Jai Bhim
8 Jai Bhim
9 Jai Bhim
10 Jai Bhim

En el ejemplo anterior, puede ver que los dos comandos imprimen las primeras y últimas diez líneas del archivo.

Puede configurar el número de líneas que se muestran para ambos comandos con la opción -n.

[email protected]:~# tail -n 3 greetings1.txt
13 Jai Bhim
14 Jai Bhim
15 Jai Bhim    

[email protected]:~# head -n 3 greetings1.txt
1 Jai Bhim
2 Jai Bhim
3 Jai Bhim

Ambos comandos también se pueden utilizar para varios archivos. Doy el nombre de los dos archivos con un espacio entre ellos e imprime la salida. En el siguiente ejemplo, utilicé la opción -n para limitar la salida. Si me salto el -n opción, los comandos imprimen las diez líneas predeterminadas de cada archivo. Como se muestra a continuación, utilicé más de un archivo como argumento, y ambos comandos imprimen un encabezado de una línea antes de generar cada archivo:

[email protected]:~# tail -n 3 greetings1.txt greetings2.txt
==> greetings1.txt <==
13 Jai Bhim
14 Jai Bhim
15 Jai Bhim
==> greetings2.txt <==
13 Good Morning
14 Good Morning
15 Good Morning
[email protected]:~# head -n 3 greetings1.txt greetings2.txt
==> greetings1.txt <==
1 Jai Bhim
2 Jai Bhim
3 Jai Bhim
==> greetings2.txt <==
1 Good Morning
2 Good Morning
3 Good Morning

La opción más importante para el tail el comando es -f. En algunos casos, cuando los usuarios ejecutan una tarea o secuencia de comandos, se crean archivos de registro o de error. Necesito seguir el archivo de registro para determinar si el script respectivo funciona correctamente o no. Por el momento tengo que usar la opción -f con el tail comando, que imprime la salida de líneas nuevas creadas por el script. Otro ejemplo donde puedes usar la opción -f con el tail el comando es /var/log/messages archivar.

Aquí hay una secuencia de comandos simple, que se ejecuta en segundo plano y agrega palabras sueltas a cada línea con un retraso de un segundo:

for i in {16..100}; do echo “$i  JaiBhim” >> greetings1.txt; sleep 1; done &

Notar: he utilizado & al final del comando para que el script se ejecute en segundo plano.

Ahora, en la misma terminal, use el tail ordenar con opción -f y el nombre del archivo como argumento. Puede ver que la nueva línea se agrega en el mismo archivo:

tail -f greetings1.txt

Conclusión

Como puedes ver, ambos tail y el head Los comandos son muy útiles para controlar exactamente qué contenido de archivo se mostrará en la pantalla. ¡Pruébalos!

Artículos de interés

Subir