Fórum Ubuntu CZ/SK

Ubuntu pro osobní počítače => Software => Příkazový řádek a programování pro GNU/Linux => Téma založeno: TIBOR 01 Listopadu 2015, 20:17:00

Název: Fungovanie sed, rozsah spracovania.
Přispěvatel: TIBOR 01 Listopadu 2015, 20:17:00
Zdravim.
Podla toho co som cital o sed mal by fungovat tak ze bez parametru "g" ma sed skoncit prehladavanie riadku po prvom najdeni zhody.
Vzorovy subor
Kód: [Vybrat]
nazov filmu(2015).sdd
film (2014) .ffd
nazov filmu(2013)(cz).sss
nazov filmu(2010) .fff
mi po prikaze
Kód: [Vybrat]
sed -r 's/^.*\(//' '/home/t/Desktop/Dokument bez názvu' | sed -r 's/\).*$//'^ od zaciatku riadku oznac
. lubovolny znak
* v lubovolnom pocte
( az po znak zaciatocnu zatvorku.
neskonci pri prvej zaciatocnej zatvorke ale az po poslednej. Vidiet to na riadku 3.
Vysledok
Kód: [Vybrat]
2015
2014
cz
2010
Zle som pochopil ako ma fungovat sed, alebo sa v tomto pripade nestandardne sprava sed?
Název: Re:Fungovanie sed, rozsah spracovania.
Přispěvatel: GdH 01 Listopadu 2015, 21:27:25
To neni o sedu, ale regulárním výraze, který prostě žere všechno, co mu odpovídá. A když napíšeš, že chceš všechny znaky za nimiž je závorka, zastaví se až na té poslední. Pokud chceš, aby se zastavil na první, na kterou narazí, musíš to formulovat jinak - všechny znaky, které nejsou závorka:
Kód: [Vybrat]
[^(]*
Název: Re:Fungovanie sed, rozsah spracovania.
Přispěvatel: TIBOR 01 Listopadu 2015, 22:23:53
Aha, zaujimave vdaka.