V tomto článku se podíváme, jak používat unixový příkaz tac, příkaz rev, příkaz vložit a příkaz join s praktickými příklady.
1. příkaz tac – Tisk souboru obráceně (poslední řádek jako první)
Slovo tac je opakem slova kočka. Funkce příkazu tac je také opakem příkazu cat. příkaz cat vytiskne soubor. příkaz tac vytiskne soubor v opačném pořadí s posledním řádkem jako prvním.
$ 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. příkaz rev – Obrátí pořadí znaků na každém řádku
Obraťte pořadí znaků na každém řádku, jak je znázorněno v příkladu níže. Liší se od příkazu tac, protože příkaz rev obrátí každý znak řádku, zatímco příkaz tac obrátí každý řádek souboru.
$ 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. příkaz vložit – Sloučit řádky souboru
Vložte řádek1 souboru1, souboru2, .. souboruN do řádku1 výstupu. Totéž se bude opakovat pro všechny řádky. Řádek každého souboru bude oddělen tabulátorem.
Vložit výstup:
$ 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 ...
V následujícím příkladu jsou odpovídající řádky ze tří různých souborů kombinovány a vhodně zobrazeny.
$ 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 – Spojení řádků dvou souborů na základě společného pole
Můžete spojit dva soubory na základě společného pole, které můžete zadat pomocí pole.
Syntax: $ join -t':' -1 N -2 N file1 file2
- -t’:’ – :je oddělovač polí
- -1 N :N-té pole v 1. souboru
- -2 N :N-té pole ve 2. souboru
- soubor1 soubor2 :soubory, které by měly být spojeny
V tomto příkladu zkombinujme soubory staff.txt a bonus.txt pomocí společného pole čísla zaměstnance.
$ 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