sed & regular Expression - bestimmte Inhalte löschen

Herakles

Profifragensteller
Moin!

Ich möchte in der bash eine Zeichenkette auseinanderpflücken. Nehmen wir an, folgendes sei als Zeichenkette gegeben:

xyzduxxx yyydadef klmhintenfgh

Nun möchte ich gern den Teil mit dem "da" löschen, während alles andere stehen bleibt. Stünde es immerzu an derselben Stelle, also in der Mitte, dann wäre das leicht mit sed zu lösen:

Code:
echo "xyzduxxx yyydadef klmhintenfgh" | sed -e s/\ .*da.*\ //

Was aber nun, wenn "yyydadef" nicht in der Mitte steht? Dann greift mein sed-Befehl schon nicht mehr. Ich muss das Ganze also irgendwie allgemeiner halten.

Hat jemand eine Idee, wie ich das bewerkstelligen könnte? Gern auch mit awk oder sinstigen Hilfsmitteln. Ich bin mir fast sicher, dass ich einfach nur vor lauter Bäumen den Wald nicht sehe... :)

Danke im Voraus,
Herakles
 
Was meinst Du überhaupt? Es klappt doch immer:

Code:
> echo "dabei"  | sed 's/da//'
bei
> echo "hallo da" | sed 's/da//'
hallo 
> echo "dort da auch" | sed 's/da//'
dort  auch

Sorry, missverstanden. Du meinst ein komplettes Wort, das die Zeichenkette "da" enthält. Wenn Du es so sagst, dann wird es deutlicher. Kamikaze hat's schon gepostet, daran hab ich es erkannt was Du willst.
 
Zuletzt bearbeitet:
Zurück
Oben