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: kurtica 25 Března 2011, 15:48:07

Název: ako v subore replacnut urcity text
Přispěvatel: kurtica 25 Března 2011, 15:48:07
Zdravim,

povedzme ze mam subor s velmi podobnymi riadkami

volowners:A10993L2            unknown             IM slot 000386 03122010
volowners:A11069L2            unknown             IM slot 000027 16122010
volowners:A11102L2            unknown             IM slot 000236 16122010
volowners:A11205L2            unknown             IM slot 000306 03122010

a potrebujem urobit skriptik, ktory by nasiel urcite riadky podla volowners, napr riadok, ktory obsahuje A11102L2 a tam zmenit unknown na jb03. S tym ale ze zapise do suboru aj tie nezmenene riadky, aj tie ktore sa zmenia.

grepom dokazem dostat riadok ktory potrebujem (napr grep A11102L2 myfile.txt)
sedom dokazem replacnut unknown na jb03, ale nasledujuci komand mi to spravi na vsetkych riadkoch kde je unknown, nielen na tom ktory potrebujem:
sed 's/unknown/jb03/g' myfile.txt > myfile2.txt

ale dat to cele dokopy sa mi nedari, pravdepodobne preto ze nemam velmi skusenosti so sed-om a ani google mi nepomohol

vie niekto poradit?
Název: Re: ako v subore replacnut urcity text
Přispěvatel: MacHala 25 Března 2011, 16:28:26
napr.

Kód: [Vybrat]
sed '/A11102L2/''s/unknown/jb03/' myfile.txtnebo
Kód: [Vybrat]
sed 's/\(.*:A11102L2\s*\)\(unknown\)\(.*\)/\1jb03\3/' myfile.txt
P.S.: obcas je lepsi se vykaslat na google a pouzit radeji nejaky manual nebo tutorial