Re: sed
Am Donnerstag 24 August 2006 19:55 schrieb Ole Janssen:
> Am Donnerstag, 24. August 2006 19:16 schrieb Klaus Becker:
> > ok, hatte ich nicht dran gedacht.
> > 2. Frage:
> >
> > for (( I=1; $I <=2; I++ )); do
> > echo $I
> >
> > gibt
> > 1
> > 2
> > aus.
> >
> > for (( I=1; $I <=2; I++ )); do
> > sed -i "s/blabla/${I}blabla/g" datei
> >
> > gibt aber
> > 12blabla
> > 12blabla
> >
> > und nicht
> > 1blabla
> > 2blabla
> > aus.
>
Hallo Ole,
> Das liegt daran, dass im ersten Schleifendurchlauf vor *alle* Vorkommen
> von »blabla« in der Datei eine 1 geschrieben wird, und im zweiten
> Schleifendurchlauf vor *alle* »blabla« eine 2 geschrieben wird.
ok.
>
> > Mein Ansatz ist falsch, ich bin aber noch nicht weit genug, um den
> > richtigen Ansatz zu finden. Ich habe etliches zum Thema gelesen, aber
> > lesen und anwenden sind 2 Dinge.
>
> Wenn Du Zeilen numerieren willst, probier's mal so:
>
> i=0; while read zeile; do echo "$((++i))$zeile"; done <datei
>
> Das liest die Datei zeilenweise ein, zählt die Variable i in jedem
> Schleifendurchlauf um 1 hoch, und fügt den aktuellen Wert von i vor der
> jeweiligen Zeile ein. Ist allerdings nicht »in-place«...
Schön, dass du das auch erklärst. Funktionniert zwar, aber ich will nicht
Zeilen nuùerieren, sondern Absätze einer html-Datei, die durch <ul></ul>
eingeschlossen sind. "Blabla" ist nur ein Probeballon.
Gruß
Klaus
Reply to:
- Follow-Ups:
- Re: sed
- From: Mathias Brodala <info@noctus.net>
- References:
- sed
- From: Klaus Becker <colonius@free.fr>
- Re: sed
- From: Klaus Becker <colonius@free.fr>
- Re: sed
- From: Ole Janssen <ole.janssen@o2online.de>