Příklady na práci s textem (30.10. 2012)
Úloha:
Seřaďte:
a) výstup příkazu ''ps aux'' - tedy seznamu procesů - podle zabrané paměti (procenta).
b) výpis ''ls -la'' podle velikosti souborů (nutno použít ''tr -s " "'' pro redukci mezer).
Úloha:
Vypište 15. řádek ze souboru /etc/passwd.
Možná řešení pomocí:
- ''head'' a ''tail''
- ''sed''
Úloha:
Napište skript, který vstup rozdělí po písmenkách na jednotlivé řádky.
Např:
echo "Ahoj svete"|skript A h o j s v e t e
Řešení:
Použijeme sed k nahrazení jakéhokoliv znaku za něj samotný (použít zpětnou referenci) a \n.
Takže příkaz ''sed -e 's/./\0\n/g' je to, co hledáme.
Vysvětlení:
Příkaz sedu '''s''' má tři argumenty, oddělené lomítkem.
- V prvním argumentu je regulární výraz, zde tečka = jakýkoliv jeden znak
- V druhém argumentu je výraz, který bude vložen místo nahrazovaného. \0 zde znamená zpětnou referenci (=celý nahrazovaný text), \n je odřádkování.
- Ve třetím argumentu je třeba použít příznak ''g'' = global
Možná sem ještě něco přibyde... :)