Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.

Autor Téma: ako v subore replacnut urcity text  (Přečteno 1224 krát)

kurtica

  • Návštěvník
  • *
  • Příspěvků: 18
  • Karma: +0/-0
    • Zobrazit profil
ako v subore replacnut urcity text
« kdy: 25 Březen 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?

MacHala

  • Závislák
  • ****
  • Příspěvků: 1104
  • Karma: +107/-11
  • Big Bro iz watching joo!
    • Zobrazit profil
    • ZlejT
Re: ako v subore replacnut urcity text
« Odpověď #1 kdy: 25 Březen 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
« Poslední změna: 25 Březen 2011, 16:37:17 od MacHala »
Prislusnik ligy, za kreativni pouzivani interpunkcnich znamenek, carek, predevsim.
=======================================
Tweetuju jako http://twitter.com/zl8