[linux-l] woerter in verschiedenen Zeile ersetzen in mehrere Dateien
Ivan Villanueva
iv at artificialidea.com
Do Jun 9 17:38:44 CEST 2005
Hi Sven,
On Wed, Jun 08, 2005 at 02:20:11PM +0200, Sven Guckes wrote:
> * Ivan Villanueva <iv at artificialidea.com> [2005-06-08 13:09]:
> > ich wollte das Wort "Examples" in "Online Examples" in mehrere .html Dateien
> > ersetzen. Nur manchmal steht "Online" in einer Zeile und "Examples" in
> > der Nächste (mit zusätzlichen Tabs und/oder Leer-Zeichen.). Z.B.:
> >
> > xxx
> > xxx Online
> > Examples xxx
> > xxx
> >
> > Nachdem ich viel Doku gelesen habe bin ich auf diese Idee gekommen:
> > vim -c "bufdo %s/Online\(\_s\+\)Examples/Online\1Replaces/g" -c "wa" -c "q" **/*.html
> > was wunderbar funktioniert, wenn man vim und die zsh hat.
> > Meine Frage: geht es einfacher?
>
> "anders" geht es bestimmt. zB so:
>
> sed -i "s/\(Online\)\n *\(Examples\)/\1 \2/" **/*html(.)
> find -type f -name *.html | xargs sed -i "s/.../.../"
Danke. Ich bin der Meinung, XML, Regular Expressions, etc. sind gut für
Computer aber nicht für Menschen.
> ganze in noch weniger zeichen machen?
Nein.
> optimierung auf schnelligkeit
Nein
> oder nur auf lesbarkeit?
Genau
> andere tools kennenlernen?
Das ist was ich wollte.
> remember the GIGO princciple!
Meinst Du bezogen auf meine Frage und Deine Antwort ?
Iván.
Mehr Informationen über die Mailingliste linux-l