V dnešním příspěvku budeme pokračovat v sérii článků, věnovaných příkazovému řádku. Představíme si několik metod, jejichž pomocí lze číst dva soubory střídavě řádek po řádku, což znamená, že se bude číst řádek č.1 ze souboru 1, poté řádek č.1 ze souboru 2, následně řádek č.2 ze souboru 1, pak řádek č.2 ze souboru 2 a tak dále. Tento způsob čtení vytvoří kombinovaný výstup ze souborů, ve kterém budou vypsány střídavě řádky z více souborů.
Pojďme tedy použít následující dva soubory jako příklad:
Soubor 1:
Linux
Mint
CZ&SK
Soubor 2:
Debian
Ubuntu
Arch
1. Příkaz paste
Nejjednodušší variantou pro čtení dvou souborů současně je použití příkazu paste:
Příkaz terminálu: |
---|
paste -d"\n" soubor1 soubor2 |
2. Příkaz awk
Druhou možností je použití příkazu awk, kdy vzorový příkaz bude vypadat takto:
Příkaz terminálu: |
---|
awk '1;{getline < x;}1' x="soubor2" soubor1 |
V tomto příkazu je proměnná „x“ určena pro druhý soubor „soubor2“. „1“ v příkazu vytiskne řádky souboru1. „getline“ čte obsah souboru2 a vytiskne první řádek. Při použití této metody, jsou řádky obou souborů vytištěny střídavě.
3. Příkazy paste a awk
Třetí možností je použití příkazů paste a awk současně:
Příkaz terminálu: |
---|
paste soubor1 soubor2 | awk '$1=$1' OFS='\n' |
No řekněte sami, není příkazový řádek kouzelný?
jo je 😀 Nevíš jak funguje ten prohlížeč vi ? třeba „vi soubor.txt“ se otevře můžu ho editovat, ale nevím jak uložit a zavřít abych se dostal zprátky do terminálu. Sem to nějak nevygooooglil 🙂
😡 = ukoncit a ulozit zmeny
:q = ukoncit
:q! = ukoncit a neukladat zmeny