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

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: premena v sed prikaze  (Přečteno 1049 krát)

psychogenius

  • Návštěvník
  • *
  • Příspěvků: 60
    • Zobrazit profil
premena v sed prikaze
« kdy: 05 Listopadu 2011, 11:40:48 »
mam premenu riadok1
echo $riadok1
0000100: 9d02 0000 62fd ffff 9d02 0000 11ee 11ee

mam prikaz sed
sed 's/0000100:......................................../'$riadok1}'/'   test
ale toto mi hodi
sed: -e expression #1, char 63: unterminated `s' command

o par riadkov vysie mam taky isty prikaz  ten prechadza aj ked obsah premenj v tom druhom je bez medzier ale ked ostranim nedzere z riadok1 aj tak to neprejde uz som skusil asi vsetky mozne kombinacie ale nejako to nejde neviete mi nejako pomoct ?

GdH

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 3133
    • Zobrazit profil
    • GdH-Notes
Re:premena v sed prikaze
« Odpověď #1 kdy: 05 Listopadu 2011, 12:43:05 »
V uvedeném příkladu jsi použil jednoduché uvozovky opravdu zmateně, je jasné, že tohle fungovat nemůže.
příkazy sedu se nejčastěji uzavírají do jednoduchých uvozovek kvůli tomu, aby se obsah nesnažil interpretovat shell. Jenže v případě tvé proměnné naopak potřebuješ, aby se do toho shell vložil a proměnnou expandoval, takže řešením je použít dvojité uvozovky, ale musí se dávat pozor, aby nedocházelo k expandování i dalších speciálních znaků, na které shell reaguje, ty by se musely escapovat. Každopádně tvůj příklad by mohl fungovat následovně:

sed "s/0000100:......................................../$riadok1}/"   test

ntz_reloaded

  • Lokaj
  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 3735
  • skill :: ur home erly
    • Zobrazit profil
Re:premena v sed prikaze
« Odpověď #2 kdy: 05 Listopadu 2011, 12:51:29 »
sed 's/0000100:......................................../'$riadok1}'/'   test
ale toto mi hodi

co to je za blbost .. doufam, ze tam ty tecky fakt nemas
tikejte mi, taky Vam tikam ...
song of the day - openSUSE, openindiana, DuckDuckGo
The noise ain't noise anymore, who's to blame, WHO'S TO BLAME ??

psychogenius

  • Návštěvník
  • *
  • Příspěvků: 60
    • Zobrazit profil
Re:premena v sed prikaze
« Odpověď #3 kdy: 05 Listopadu 2011, 13:29:03 »
dvojite uvodzovky pomohli. tecky tam mam len docasne lebo sa mi neche pocitat znaky lebo neviem co je normalna a co dvojita medzera tak som si to vyetackoval a potom ked to bude sedet spocitam tecky.

 


Provoz zaštiťuje spolek OpenAlt.