PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : sed probleme beim ersetzen



jbo24884
04-03-2010, 17:54
Hallo ich bekomm einfach folgendes nicht hin,

möchte gerne eine Variable durch eine andere ersetzen:

flagStudio=$(grep "<studio>" $WORKDIR/movie.bak | sed -e 's/<[^>]*>//g' | cut -d / -f 1)

flagLine=$(grep "<studio>" $WORKDIR/movie.bak | sed -e 's/<[^>]*>//g')

sed 's/"'$flagList'"/"'$flagStudio'"/' <movie.bak >movie2.nfo

in flagList sind leerzeichen drin, vielleicht liegt es daran aber die müssen leider drin bleiben. er findet flagList="test abc 123" nicht in movie.bak....
Wenn ich zum Beispiel anstatt '"$flagList"' nur einen Teil der Wörter die in $flagList enthalten sind z.b. "test" , dann funktioniert das ohne Probleme.


hat jemand eine idee???

jbo24884
06-03-2010, 16:27
hier ist vielleicht nochmal ein einfacheres Beispiel was mein Problem beschreibt:

bash-shell

Funktioniert ohne Probleme:
#sed 's/'\ abc\ '/'"$VAR2"'/' <test.bak >test2.nfo

Funktioniert leider nicht:
VAR1="\ abc\ "
#sed 's/'"$VAR1"'/'"$VAR2"'/' <test.bak >test2.nfo
oder
#sed 's/'$VAR1'/'"$VAR2"'/' <test.bak >test2.nfo

bin echt am verzweifeln..

msi
06-03-2010, 17:06
was möchtest du denn durch was ersetzen?
wegen deinen ganzen \ kann man das leider nicht
so ganz nachvollziehen.

gib doch mal deine datei (oder teile davon) zu sehen

jbo24884
06-03-2010, 17:31
Also ich möchte einfach einen eintrag in einer xml Datei kürzen auf den ersten Eintrag:

also zb.:

<xtezeile> Ein schöner Tag / blabla / blubblub / 12 34 abc <xtezeile/>

zu

<xtezeile>Ein schöner Tag<xtezeile/>

aber der erste Eintrag sieht immer anders aus..

msi
06-03-2010, 19:06
udn wieso verwendest du dann soviele backslashes?

jbo24884
07-03-2010, 08:54
für die Leerzeichen, hab es auch ohne probiert aber das funktioniert auch nicht :(

peschmae
20-03-2010, 10:04
Also ich möchte einfach einen eintrag in einer xml Datei kürzen auf den ersten Eintrag:

also zb.:

<xtezeile> Ein schöner Tag / blabla / blubblub / 12 34 abc <xtezeile/>

zu

<xtezeile>Ein schöner Tag<xtezeile/>

aber der erste Eintrag sieht immer anders aus..

Also sowas?


peschmae@sid:~> echo "<xtezeile> Ein schöner Tag / blabla / blubblub / 12 34 abc <xtezeile/>" | sed 's# / .*<#<#'
<xtezeile> Ein schöner Tag<xtezeile/>


MfG Peschmä