Re: Frage zu sed
Sebastian Opitz <sebiopitz@web.de> wrote:
> Hallo zusammen,
> ich habe eine kleine Frage zu den RegExs bzw. konkret zu sed:
> Ich habe eine Datei mit folgendem Muster:
>
> xyz
> inhalt
> xyz
> inhalt
> xyz
> inhalt
>
> Also ein immer wieder kehrendes Merkmal "xyz", dahinter jeweils
> anderer Inhalt. Diese Datei wird immer aktualisiert und ich möchte mir
> einen kleinen Befehl bauen, der mir nur den ersten Inhalt
> wiedergibt. Also ein sed 's/xyz\(.*\)/\1/g', aber das nach dem ersten
> mal aufhört.
$ cat testfile
xyz
Inhalt 1
xyz
Inhalt 2
xyz
Inhalt drei
$ sed -ne '/xyz/ n;p;q' testfile
Inhalt 1
$
sed -n bewirkt, dass nur ausgegeben wird, was explizit angefordert
wird. /xyz/ ist die Adresse, die angesprungen wird, und ab der die
folgenden Befehle ausgeführt werden:
n => nächste Zeile in den pattern space
p => Print (bzw. eher ausgeben)
q => Sofort aufhören, ohne weiter zu arbeiten.
Wenn Inhalt 1 mehr als eine Zeile haben kann, wird's komplizierter.
Gruß, Frank
--
Frank Küster
Single Molecule Spectroscopy, Protein Folding @ Inst. f. Biochemie, Univ. Zürich
Debian Developer (teTeX)
Reply to: