Dans cet article, voyons comment utiliser la commande Unix tac, la commande rev, la commande paste et la commande join avec des exemples pratiques.
1. Commande tac - Imprimer le fichier à l'envers (dernière ligne en premier)
Le mot tac est l'inverse du mot chat. La fonctionnalité de la commande tac est également inverse de la commande cat. La commande cat imprime le fichier. La commande tac imprime le fichier dans l'ordre inverse avec la dernière ligne en premier.
$ 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. commande rev - Inverser l'ordre des caractères sur chaque ligne
Inversez l'ordre des caractères dans chaque ligne comme indiqué dans l'exemple ci-dessous. Elle est différente de la commande tac, car la commande rev inverse chaque caractère de la ligne, tandis que la commande tac inverse chaque ligne du fichier.
$ 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. commande coller - Fusionner les lignes du fichier
Collez la ligne1 de fichier1, fichier2, .. fichierN dans la ligne1 de la sortie. Il répétera la même chose pour toutes les lignes. La ligne de chaque fichier sera délimitée par une tabulation.
Coller la sortie :
$ 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 ...
Dans l'exemple suivant, les lignes correspondantes de trois fichiers différents sont combinées et affichées de manière appropriée.
$ 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 - Joindre les lignes de deux fichiers en fonction d'un champ commun
Vous pouvez joindre deux fichiers basés sur un champ commun, que vous pouvez spécifier à l'aide du champ.
Syntax: $ join -t':' -1 N -2 N file1 file2
- -t’ :’ – :est le séparateur de champs
- -1 N :Nième champ du 1er fichier
- -2 N :Nième champ du 2ème fichier
- fichier1 fichier2 :fichiers à joindre
Dans cet exemple, combinons les fichiers employee.txt et bonus.txt en utilisant le champ commun du numéro d'employé.
$ 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