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]:
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
Am Donnerstag 10 September 2009 15:54:49 schrieb Marko Käning:
Ich habe eine sehr lange Text-Variable (Text aus mehreren Seiten). DarinSowas wie
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?
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 > |