Com utilitzar les ordres cat i tac amb exemples a Linux
Aquest article forma part de la nostra sèrie de trucs i consells de Linux, en aquest article tractarem alguns ús bàsics de l'ordre cat (l'ordre més utilitzada a Linux) i tac (ordre inversa de cat: imprimir fitxers en ordre invers) amb algunes pràctiques pràctiques. exemples.
Ús bàsic de Cat Command a Linux
L'ordre Cat, acrònim de Concatenar, és una de les ordres més utilitzades als sistemes *nix. L'ús més bàsic de l'ordre és llegir fitxers i mostrar-los a stdout, és a dir, mostrar el contingut dels fitxers al vostre terminal.
# cat file.txt
Un altre ús de l'ordre cat és llegir o combinar diversos fitxers junts i enviar la sortida a un monitor tal com s'il·lustra als exemples següents.
# cat file1.txt file2.txt file3.txt
L'ordre també es pot utilitzar per concatenar (unir) diversos fitxers en un sol fitxer mitjançant l'operador de redirecció de Linux \>”
.
# cat file1.txt file2.txt file3.txt > file-all.txt
Mitjançant el redirector d'afegir, podeu afegir el contingut d'un fitxer nou a la part inferior del file-all.txt
amb la sintaxi següent.
# cat file4.txt >> file-all.txt
L'ordre cat es pot utilitzar per copiar el contingut del fitxer a un fitxer nou. El nou fitxer es pot canviar de nom arbitrari. Per exemple, copieu el fitxer des de la ubicació actual al directori /tmp/
.
# cat file1.txt > /tmp/file1.txt
Copieu el fitxer de la ubicació actual al directori /tmp/
i canvieu-ne el nom.
# cat file1.txt > /tmp/newfile.cfg
Un ús menor de l'ordre cat és crear un fitxer nou amb la sintaxi següent. Quan acabeu d'editar el fitxer, premeu CTRL+D
per desar i sortir del nou fitxer.
# cat > new_file.txt
Per numerar totes les línies de sortida d'un fitxer, incloses les línies buides, utilitzeu l'interruptor -n
.
# cat -n file-all.txt
Per mostrar només el número de cada línia no buida, utilitzeu l'interruptor -b
.
# cat -b file-all.txt
Voleu obtenir més informació sobre l'ordre del gat de Linux? a continuació, llegiu el nostre article sobre 13 exemples útils d'ordres gat a Linux.
Apreneu a utilitzar el comandament Tac a Linux
D'altra banda, una ordre menys coneguda i menys utilitzada als sistemes *nix és l'ordre tac
. Tac és pràcticament la versió inversa de l'ordre cat
(també escrit al revés) que imprimeix cada línia d'un fitxer començant des de la línia inferior i acabant a la línia superior fins a la sortida estàndard de la vostra màquina.
# tac file-all.txt
Una de les opcions més importants de l'ordre està representada per l'interruptor -s
, que separa el contingut del fitxer en funció d'una cadena o una paraula clau del fitxer.
# tac file-all.txt --separator "two"
A continuació, l'ús més important de l'ordre tac és que pot proporcionar una gran ajuda per depurar fitxers de registre, invertint l'ordre cronològic del contingut del registre.
$ tac /var/log/auth.log Or to display the last lines $ tail /var/log/auth.log | tac
[email ~ $ tac /var/log/auth.log pr 6 16:09:01 tecmint CRON[17714]: pam_unix(cron:session): session closed for user root Apr 6 16:09:01 tecmint CRON[17714]: pam_unix(cron:session): session opened for user root by (uid=0) Apr 6 16:05:01 tecmint CRON[17582]: pam_unix(cron:session): session closed for user root Apr 6 16:05:01 tecmint CRON[17583]: pam_unix(cron:session): session closed for user root Apr 6 16:05:01 tecmint CRON[17583]: pam_unix(cron:session): session opened for user root by (uid=0) Apr 6 16:05:01 tecmint CRON[17582]: pam_unix(cron:session): session opened for user root by (uid=0) Apr 6 16:00:01 tecmint CRON[17434]: pam_unix(cron:session): session closed for user root ....
[email ~ $ tail /var/log/auth.log | tac Apr 6 16:09:01 tecmint CRON[17714]: pam_unix(cron:session): session closed for user root Apr 6 16:09:01 tecmint CRON[17714]: pam_unix(cron:session): session opened for user root by (uid=0) Apr 6 16:05:01 tecmint CRON[17582]: pam_unix(cron:session): session closed for user root Apr 6 16:05:01 tecmint CRON[17583]: pam_unix(cron:session): session closed for user root Apr 6 16:05:01 tecmint CRON[17583]: pam_unix(cron:session): session opened for user root by (uid=0) Apr 6 16:05:01 tecmint CRON[17582]: pam_unix(cron:session): session opened for user root by (uid=0) Apr 6 16:00:01 tecmint CRON[17434]: pam_unix(cron:session): session closed for user root Apr 6 16:00:01 tecmint CRON[17434]: pam_unix(cron:session): session opened for user root by (uid=0) Apr 6 15:55:02 tecmint CRON[17194]: pam_unix(cron:session): session closed for user root Apr 6 15:55:01 tecmint CRON[17195]: pam_unix(cron:session): session closed for user root ...
Igual que l'ordre cat
, tac
fa un treball excel·lent en la manipulació de fitxers de text, però s'ha d'evitar en altres tipus de fitxers, especialment en fitxers binaris o en fitxers on la primera línia indica el programa que l'executarà.