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

  1. ''head'' a ''tail''
  2. ''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... :)