Mailinglist Archive: opensuse-de (989 mails)

< Previous Next >
Re: Text in Zeichenkette bestimmen, zB mit sed?
  • From: Werner Flamme <werner.flamme@xxxxxx>
  • Date: Thu, 10 Sep 2009 16:38:27 +0200
  • Message-id: <4AA90F63.2080803@xxxxxx>
Al Bogner [10.09.2009 16:22]:
Am Donnerstag 10 September 2009 15:54:49 schrieb Marko Käning:
Ich habe eine sehr lange Text-Variable (Text aus mehreren Seiten). Darin
kommt an unregelmäßiger Stelle, aber ziemlich gegen Ende eine bestimmte
Zeichenkombination von "|center=4,3 |" (ohne "). 4,3 ist variabel, der
Rest konstant. Grenzen sind also |. Die Stelle ist aber nicht konstant,
daher ist cut nicht möglich.

Wie bestimmte ich diesen Teil zB mit sed in einem bash-Skript?
Sowas wie

echo $VAR | sed 's/.*\(|center=[0-9]+,[0-9]|+\).*/\1/'

sollte meiner Meinung nach helfen.


Leider nein.

Vermutlich liegt es daran, dass es auch zB "|center=4.1,3.2444 |" sein
könnte.
Die Stellen nach dem Dezimalpunkt sind unbestimmt oder eben gar keine. Meist
gibt es aber Dezimalstellen.

Dann ändere doch die Regex. /.*\(|center=[^|]\+|\).*/ ist doch eine
Annäherung, oder? Dein Beispiel wird jedenfalls gefunden:

echo "Schmirschschmorsch |center=4.1,3.2444 | Pillepalle" | sed
's/.*\(|center=[^|]\+|\).*/\1/'
|center=4.1,3.2444 |


HTH,
Werner
--
Um die Liste abzubestellen, schicken Sie eine Mail an:
opensuse-de+unsubscribe@xxxxxxxxxxxx
Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken
Sie eine Mail an: opensuse-de+help@xxxxxxxxxxxx

< Previous Next >
Follow Ups