In questo articolo, esaminiamo come utilizzare il comando Unix tac, rev command, paste command e join command con esempi pratici.
1. Comando tac – Stampa il file al contrario (prima l'ultima riga)
La parola tac è il contrario della parola cat. Anche la funzionalità del comando tac è inversa rispetto al comando cat. Il comando cat stampa il file. Il comando tac stampa il file in ordine inverso con l'ultima riga per prima.
$ 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:inverte l'ordine dei caratteri in ogni riga
Invertire l'ordine dei caratteri in ogni riga come mostrato nell'esempio seguente. È diverso dal comando tac, poiché il comando rev inverte ogni carattere della riga, mentre il comando tac inverte ogni riga del file.
$ 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 incolla – Unisci righe di file
Incolla la riga1 di file1, file2, .. fileN nella riga1 dell'output. Si ripeterà lo stesso per tutte le righe. La riga di ogni file sarà delimitata da una tabulazione.
Incolla l'output:
$ 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 ...
Nell'esempio seguente, le righe corrispondenti di tre diversi file vengono combinate e visualizzate in modo appropriato.
$ 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 – Unisci righe di due file in base a un campo comune
Puoi unire due file in base a un campo comune, che puoi specificare utilizzando il campo.
Syntax: $ join -t':' -1 N -2 N file1 file2
- -t':' – :è il separatore di campo
- -1 N :N° campo nel 1° file
- -2 N :N° campo nel 2° file
- file1 file2 :file che devono essere uniti
In questo esempio, uniamo i file employee.txt e bonus.txt utilizzando il campo del numero di dipendente comune.
$ 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