Rozdíly
Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
| — |
vyuka:prace_s_textem [2023/11/15 20:54] (aktuální) |
||
|---|---|---|---|
| Řádek 1: | Řádek 1: | ||
| + | ====== Práce s textem v shellu ====== | ||
| + | Budeme tady dost pracovat s [[vyuka: | ||
| + | |||
| + | |||
| + | =====head===== | ||
| + | Zobrazuje ''' | ||
| + | |||
| + | =====tail===== | ||
| + | Zobrazí ''' | ||
| + | |||
| + | <code bash> | ||
| + | #zobrazí prvních 5 řádek z /etc/group | ||
| + | head -n 5 / | ||
| + | |||
| + | #zobrazí z /etc/passwd vše krom posledních tří řádek | ||
| + | head -n -3 / | ||
| + | |||
| + | #zobrazí poslední 20 záznamů ze systémového logu | ||
| + | tail -n -20 / | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | =====cut===== | ||
| + | Rozřeže data podle zadaného separátoru, | ||
| + | Jiné použití - řeže po jednotlivých znacích. | ||
| + | Parametry: | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | | ||
| + | <code bash> | ||
| + | #zobrazí z /etc/passwd pouze přihlašovací jména společně s ID | ||
| + | cat /etc/passwd | cut -d: -f1,3 | ||
| + | |||
| + | #zobrazí měsíc z takto formátovaného data | ||
| + | echo " | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | ===== paste ===== | ||
| + | Slepí dva nebo více souborů (jedno z toho může být standardní vstup - parametr pomlčka) zadaným spojovačem | ||
| + | * '' | ||
| + | |||
| + | <code bash> | ||
| + | paste -d: uzivatelska_jmena uzivatelska_id | ||
| + | </ | ||
| + | | ||
| + | |||
| + | ====Úloha 1==== | ||
| + | < | ||
| + | Chci /etc/group dvakrát - tj aby namísto | ||
| + | [groupname]: | ||
| + | bylo | ||
| + | [groupname]: | ||
| + | </ | ||
| + | |||
| + | ====Úloha 2==== | ||
| + | < | ||
| + | Pomocí '' | ||
| + | </ | ||
| + | |||
| + | =====sort===== | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | |||
| + | |||
| + | <code bash> | ||
| + | #seřadí /etc/passwd podle uživatelských ID (numericky) | ||
| + | sort -t: -k3 -n /etc/passwd | ||
| + | </ | ||
| + | |||
| + | |||
| + | ===== tr ===== | ||
| + | Od pojmu '' | ||
| + | Základní použití: '' | ||
| + | ====Přepínače==== | ||
| + | * '' | ||
| + | * '' | ||
| + | |||
| + | ====Příklady==== | ||
| + | <code bash> | ||
| + | # Změní v passwd oddělující dvojtečky na dvoukříže | ||
| + | cat /etc/passwd | tr : "#" | ||
| + | |||
| + | # Ve vstupu změní velká písmenka na malá | ||
| + | echo "Ahoj Svete" | tr A-Z a-z | ||
| + | #>ahoj svete | ||
| + | |||
| + | # Odstrani z textu samohlasky | ||
| + | echo "Ahoj svete" | tr -d aeiouy | ||
| + | #>hj svt | ||
| + | |||
| + | # Vymaže z textu dvojité mezery | ||
| + | echo " | ||
| + | #>Ahoj svete jak se mas? | ||
| + | </ | ||
| + | |||
| + | ====Úloha==== | ||
| + | Znáte [[http:// | ||
| + | |||
| + | Vytvořte pomocí příkazu '' | ||
| + | |||
| + | ---- | ||
| + | =====join===== | ||
| + | Velmi silný nástroj, jenž spojuje data podle zadaných položek. | ||
| + | Příkaz JOIN najdete i v SQL databázích. | ||
| + | Například: | ||
| + | > '' | ||
| + | a druhou tabulku, ve které je | ||
| + | > '' | ||
| + | a chceme vypsat řádky, kde budou jména i názvy primární skupiny | ||
| + | |||
| + | Použijeme join - budeme spojovat přes '' | ||
| + | <code bash> | ||
| + | join -t, -1" | ||
| + | </ | ||
| + | |||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | |||
| + | **Pozor: vstupní tabulky musí být podle spojovaného sloupce seřazeny (použijte sort)** | ||
| + | |||
| + | <code bash> | ||
| + | join -t: -11 -24 sortedPasswd sortedGroup | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | =====Odkazy===== | ||
| + | * [[http:// | ||
| + | * [[http:// | ||
| + | * [[http:// | ||