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:// | ||