sed - ostatní užitečné vychytávky, doplňkové příkazy

Napsal Mgr.Radovan Kaluža (») 7. 1. 2007 v kategorii Operační systémy, přečteno: 3305×

Ne vždy je vhodné použít sed :-)


práce s emaily


tělo mejlu
sed '1,/^$/d' email.eml

ziskání hlavičky
sed '1,/^$/!d' email.eml

vytiskne From
cat email.eml | sed '/^From: */!d; s/^From: //1' | sed 's~.*<\(.*\)>.*~\1~'

zakomentování zprávy
sed 's/^/# /'

odkomentování zprávy
sed 's/^# //'

odstraní html znaky
sed -e :a -e 's/<[^<]*>/ /g;/</{N;s/\n/ /;ba;}'


ostatní vychytávky



n potlačí výpis standartního výstupu
sed '=' soubor
sed -n '=' soubor

vymaže prázdné řádky
sed '/^$/d' soubor

vymaže prázdné řádky a přidá ke každému právě jeden nový řádek
sed '/^$/d;G' soubor

smaže zakomentované řádky
sed '/^[\t]*#.*/d;' soubor


za každý řádek přidá jeden volný
sed G soubor

odstraní každý druhý řádek
sed 'n;d'

vloží řádek za řádek obsahující xx
sed '/xx/G' soubor

vloží prázdný řádek před řádek obsahující xx
sed '/xx/{x;p;x;}'

x - vyjme řádek a drží mezeru
p - tiskne řádek
{} - seznam instrukcí, které se mají provádět


vložení několika mezer na začátek každého řádku
sed 's/^/ /' soubor

vytiskne řádky o velikosti 15 znaků nebo více
sed '/^.\{15\}/!d'

vytiskne řádky o velikosti menší jak 15 znaků
sed '/^.\{15\}/d'

vytiskne řádek 2 až 5
sed '2,5!d' soubor

vytiskne řádek 5
sed '5!d' soubor

vytiskne řádek 5, vhodné pro velké soubory
sed '52q;d' soubor

vytiskne první 3 řádky
sed 3q soubor

očíslování souboru
sed = soubor | sed 'N;s/\n/. /'

pouze jednotlivé řádky
sed -n '=' soubor

celkový počet řádků
sed -n '$=' soubor


vymaže prázdné znaky zprava i zleva
sed 's/^[ \t]*//;s/[ \t]*$//'


příkaz p znamená, že vytiskne soubor před jeho zpracovaním
echo 'STARE řádek' |sed 'p;s/STARE/NOVE/g'


přepínač H přidává do zásobníku postupně výsledky
echo 'abcde' |sed 'H;s/ab/AB/;H;s/c/C/;H;g'
výsledek

abcde

ABcde

ABCde



ne vždy používejme sed


vytiskne první 3 řádky
head -3 soubor

vytiskne poslední 3 řádky
tail -3 soubor

vypíše řádky obráceně
tac soubor

odstraní duplicitní řádky
unique soubor

odstraní prázdné řádky
cat -s soubor

vytiskne řádky, které obsahují slovo aa a neobsahuje slovo cc
echo " aa 11 bb" | grep aa | grep -v cc

celkový počet řádků
wc -l file | awk '{print $1}'







Štítky: sed
Facebook Twitter Topčlánky.cz Linkuj.cz

Komentáře

Zobrazit: standardní | od aktivních | poslední příspěvky | všechno
Článek ještě nebyl okomentován.


Nový komentář

Téma:
Jméno:
Notif. e-mail *:
Komentář:
  [b] [obr]
Odpovězte prosím číslicemi: Součet čísel tři a dvanáct