Sed, suche nach ausdruck und füge an

S

seppl82

Grünschnabel
Hallo zusammen,

frage: Ich würde gernd mit sed nach soetwas suchen
Code:
"index.phpid99"
Und danach soll es so aussehen
Code:
"index.phpid99[B].html"[/B]

Also nur das .html angehängt wird.

Ich spreche absichtlich von anhängen, da auch index.php25 kommen könnte und das in index.php25.html verändert werden sollte

Bitte um Hilfestellung :-( Bin noch relativ frisch was das Thema SED angeht (um ehrlich zu sein ging es bisher bei mir um um normales suchen und ersetzten)

Vorab schon vielen dank
 
ich denke das sollte das tun:

Code:
sed -e 's/\(index.phpid[0-9]\+\)/\1.html/g'

also z.B:
Code:
$ echo "index.phpid25 index.phpid3" | sed -e 's/\(index.phpid[0-9]\+\)/\1.html/g'
index.phpid25.html index.phpid3.html
 
Hey Super,

vielen vielen Dank.
Kannst du mir noch erklären wie der SED befehl funktioniert.

Danke
 
Morgen,

dan drößeln wir das
Code:
's/\(index.phpid[0-9]\+\)/\1.html/g'
mal für dich auf.
Code:
s/\(index.phpid[0-9]\+\)
der Teil bedeutet
Suche einen String der wie "index.phpid" aussieht und der mindestens eine Ziffer angehängt hat "[0-9]\+".
regexpr Zeichenmaskierung

Im zweiten Teil
Code:
/\1.html/g
wird an den ersten gefundenen Suchbegriff "\1" einfach ".html" angehängt und das "g" sorgt noch dafür, dass das ganze für jeden gefundene Muster durchgeführt wird.

"\1" benihaltet alles was im ersten Teil in den runden Klammern stand.

Hoffe das hilft
 
Zurück
Oben