En este artículo, revisemos cómo usar el comando tac, el comando rev, el comando pegar y el comando unir de Unix con ejemplos prácticos.
1. Comando tac:imprime el archivo al revés (última línea primero)
La palabra tac es el reverso de la palabra gato. La funcionalidad del comando tac también es inversa al comando cat. El comando cat imprime el archivo. El comando tac imprime el archivo en orden inverso con la última línea primero.
$ cat thegeekstuff.txt 1. Linux Sysadmin, Scripting etc., 2. Databases Oracle, mySQL etc., 3. Hardware 4. Security (Firewall, Network, Online Security etc) 5. Storage 6. Cool gadgets and websites 7. Productivity (Too many technologies to explore, not much time available) 8. Website Design 9. Software Development 10. Windows Sysadmin, reboot etc., 11. Adding 1's and 0's $ tac thegeekstuff.txt 11. Adding 1's and 0's 10. Windows Sysadmin, reboot etc., 9. Software Development 8. Website Design 7. Productivity (Too many technologies to explore, not much time available) 6. Cool gadgets and websites 5. Storage 4. Security (Firewall, Network, Online Security etc) 3. Hardware 2. Databases Oracle, mySQL etc., 1. Linux Sysadmin, Scripting etc.,
2. Comando rev – Invierte el orden de los caracteres en cada línea
Invierta el orden de los caracteres en cada línea como se muestra en el siguiente ejemplo. Es diferente del comando tac, ya que el comando rev invierte cada carácter de la línea, mientras que el comando tac invierte cada línea del archivo.
$ rev thegeekstuff.txt ,.cte gnitpircS ,nimdasyS xuniL .1 ,.cte LQSym ,elcarO sesabataD .2 erawdraH .3 )cte ytiruceS enilnO ,krowteN ,llaweriF( ytiruceS .4 egarotS .5 setisbew dna stegdag looC .6 )elbaliava emit hcum ton ,erolpxe ot seigolonhcet ynam ooT( ytivitcudorP .7 ngiseD etisbeW .8 tnempoleveD erawtfoS .9 ,.cte toober ,nimdasyS swodniW .01 s'0 dna s'1 gniddA .11
3. comando de pegado:fusionar líneas de archivo
Pegue la línea 1 de archivo 1, archivo 2, .. archivo N en la línea 1 de la salida. Se repetirá lo mismo para todas las líneas. La línea de cada archivo estará delimitada por tabulación.
Pegar salida:
$ paste f1 f2 f3 f1-line1<tab>f2-line1<tab>f3-line1 f1-line2<tab>f2-line2<tab>f3-line2 f1-line3<tab>f2-line3<tab>f3-line3 ...
En el siguiente ejemplo, las líneas correspondientes de tres archivos diferentes se combinan y se muestran de forma adecuada.
$ cat emp-number.txt 100 200 300 400 500 $ cat emp-firstname.txt Emma Alex Madison Sanjay Nisha $ cat emp-lastname.txt Thomas Jason Randy Gupta Singh $ paste emp-number.txt emp-firstname.txt emp-lastname.txt 100 Emma Thomas 200 Alex Jason 300 Madison Randy 400 Sanjay Gupta 500 Nisha Singh
4. join:une líneas de dos archivos en función de un campo común
Puede unir dos archivos en función de un campo común, que puede especificar usando el campo.
Syntax: $ join -t':' -1 N -2 N file1 file2
- -t’:’ – :es el separador de campo
- -1 N :N-ésimo campo en el 1.er archivo
- -2 N :campo N en el segundo archivo
- archivo1 archivo2:archivos que deben unirse
En este ejemplo, combinemos los archivos employee.txt y bonus.txt usando el campo de número de empleado común.
$ cat employee.txt 100 Emma Thomas 200 Alex Jason 300 Madison Randy 400 Sanjay Gupta 500 Nisha Singh $ cat bonus.txt $5,000 100 $5,500 200 $6,000 300 $7,000 400 $9,500 500 $ join -1 1 -2 2 employee.txt bonus.txt 100 Emma Thomas $5,000 200 Alex Jason $5,500 300 Madison Randy $6,000 400 Sanjay Gupta $7,000 500 Nisha Singh $9,500