[gelöst] zeilen austauschen mittels regexp
[gelöst] zeilen austauschen mittels regexp
Ich möchte zwei Zeilen in mehreren Dateien austauschen, und zwar
mit einer regexp, da sich die Zeilen nicht immer an der Stelle befinden.
Schön wäre ja mit sed allein, aber ich befürchte da muss noch awk
dazu, oder?
Gruesse
henry
mit einer regexp, da sich die Zeilen nicht immer an der Stelle befinden.
Schön wäre ja mit sed allein, aber ich befürchte da muss noch awk
dazu, oder?
Gruesse
henry
Zuletzt geändert von mullers am 20.04.2011 11:33:35, insgesamt 1-mal geändert.
Re: zeilen austauschen mittels regexp
Könntest du mal ein zwei Demo-Dateien generieren? Damit kann man dir besser helfen.
Auch sed kann mit mehreren Zeilen arbeiten (über N).
Auch sed kann mit mehreren Zeilen arbeiten (über N).
Re: zeilen austauschen mittels regexp
Mmh, vielleicht hilft das weiter...
Es ist eine html Datei. Oben gibt es also einen container
für die Navigation; eine Zeile davon ist:
und einige Zeilen weiter unten:
Die letztere Zeile sollte nun mit der ersten den Platz tauschen.
Man könnte natürlich auch die Worte einfach austauschen, aber
ich würde auch gerne mal wissen, wie man ganze Zeilen vertauscht...
Es ist eine html Datei. Oben gibt es also einen container
für die Navigation; eine Zeile davon ist:
Code: Alles auswählen
<li><a href="./aboutme.html">über mich</a></li>
Code: Alles auswählen
<li><a href="news">news</a></li>
Die letztere Zeile sollte nun mit der ersten den Platz tauschen.
Man könnte natürlich auch die Worte einfach austauschen, aber
ich würde auch gerne mal wissen, wie man ganze Zeilen vertauscht...
Re: zeilen austauschen mittels regexp
Mit ed so:
Die ganzen 1en kann man uebrigens auch noch weglassen. ![Very Happy :-D](./images/smilies/icon_biggrin.gif)
Code: Alles auswählen
/line1/-1ka
/line2/-1kb
'a+1m'b+1
'b+1m'a
w
q
![Very Happy :-D](./images/smilies/icon_biggrin.gif)
Use ed once in a while!
Re: zeilen austauschen mittels regexp
Das ist ja schockierend!Meillo hat geschrieben:[...]
Die ganzen 1en kann man uebrigens auch noch weglassen.
![Very Happy :D](./images/smilies/icon_biggrin.gif)
Allerdings, wenn ich es nur für eine Datei bräuchte, würde ich
es mit Emacs machen. Einen Satz markieren, dann auf dem
nächsten `transpose-sentences' und gut is'.
Oder für das Fingerballet:
Code: Alles auswählen
C-@ und C-x C-t
Re: zeilen austauschen mittels regexp
Den Sprung haettest du auch selbst schaffen koennen:myyers hat geschrieben:Irgendwas mit sed für mehrere Dateien wär' halt schön...
Code: Alles auswählen
for i in * ; do
ed - "$i" <<!
/line1/-1ka
/line2/-1kb
'a+1m'b+1
'b+1m'a
w
q
!
done
![Twisted Evil :twisted:](./images/smilies/icon_twisted.gif)
Use ed once in a while!
Re: zeilen austauschen mittels regexp
Nun ja, als ich ed las, saß ich augenblicklich furchterfüllt in der Ecke desMeillo hat geschrieben:[...]... aber wieso nicht mit ed? Angst?
Zimmers und sah den Himmel sein dräuend' Pech über mich ergießen.
Nun gut, ganz so schlimm war es nicht, aber fast...
![Mr. Green :mrgreen:](./images/smilies/icon_mrgreen.gif)
An eine Schleife habe ich gar nicht gedacht, danke...