Hallo,
in einem Anfall geistiger Umnachtung habe ich in annaehernd 100
html-Dateien zahlreiche </br> geschrieben. Da ich die Dateien aber
ohnehin noch im vim weiter bearbeiten muss, dachte ich mir nun,
das Loeschen dieser Tags auch gleich mit dem vim erledigen zu koennen.
Sie ueber "/<\/br>" zu finden und zu markieren, ist ja kein Problem,
bloss wie ich sie dann loeschen kann, ist mir noch voellig unklar.
Fuer Tips waere ich deshalb sehr dankbar.
Beste Gruesse,
Heinz.
--
E-Mail: Heinz W. Pahlke
Hallo, On Mon, 06 May 2002 at 17:21 (+0200), Heinz W. Pahlke wrote:
in einem Anfall geistiger Umnachtung habe ich in annaehernd 100 html-Dateien zahlreiche </br> geschrieben. Da ich die Dateien aber ohnehin noch im vim weiter bearbeiten muss, dachte ich mir nun, das Loeschen dieser Tags auch gleich mit dem vim erledigen zu koennen.
Sie ueber "/<\/br>" zu finden und zu markieren, ist ja kein Problem, bloss wie ich sie dann loeschen kann, ist mir noch voellig unklar.
:%s/<\/br>//g Erklärung: Als erstes definierst Du den Bereich, % meint die ganze Datei. Das anschließende s steht für "substitute" also ersetzen. Nach dem ersten / folgt die Regexp, die mit irgendwas ersetzt werden soll. Also die gleiche Regexp, nach der gesucht wurde. Nach dem zweiten / folgt der String, mit dem ersetzt werden soll -- in dem Fall einfach mit nichts. Schließlich steht das g für "global", also alle Vorkommen ersetzen. HTH. Gruß, Bernhard -- "Ein Experte ist ein Mann, der hinterher genau sagen kann, warum seine Prognose nicht gestimmt hat." -- Winston Churchill
Am Mon, 2002-05-06 um 17.21 schrieb Heinz W. Pahlke:
Hallo,
Hi!
in einem Anfall geistiger Umnachtung habe ich in annaehernd 100 html-Dateien zahlreiche </br> geschrieben. Da ich die Dateien aber ohnehin noch im vim weiter bearbeiten muss, dachte ich mir nun, das Loeschen dieser Tags auch gleich mit dem vim erledigen zu koennen.
Sie ueber "/<\/br>" zu finden und zu markieren, ist ja kein Problem, bloss wie ich sie dann loeschen kann, ist mir noch voellig unklar.
Versuchs mal mit: vim *.html :0,$ s/<\/br>//g :w :n Alternativ automatisch mit als shell-Einzeiler mit sed: chef@garfield> ls -1 *.html | while read file
cp "$file" "$file.bak" do cat $file | sed -e 's/<\/br>//g' >$file.tmp mv $file.tmp $file done
ciao Andreas -- ----------------------------------------------------------- Andreas Gaffke Tel: ++49 6257 86 90 06 Kiefernweg 6 Fax: ++49 6257 86 90 07 D-64342 Seeheim-Jugenheim Germany mailto:andreas@gaffke.net Public key fingerprint: FC4D B73D 06C8 E131 8431 247B 54E7 2A83 73F6 38FF Hummingbirds never remember the words to songs. -----------------------------------------------------------
On 06-May-2002 Andreas Gaffke wrote:
Versuchs mal mit:
vim *.html :0,$ s/<\/br>//g :w :n
Hervorragend :-))) Aber unter welchem Stichwort findet man derartige Loesungen in der vim-Doku. So ziellos, wie ich herumgestochert habe, haette ich mehr Glueck als Verstand haben muessen.
Alternativ automatisch mit als shell-Einzeiler mit sed:
chef@garfield> ls -1 *.html | while read file
cp "$file" "$file.bak" do cat $file | sed -e 's/<\/br>//g' >$file.tmp mv $file.tmp $file done
Danke. Das waere zwar ein moeglicher Workaround gewesen, aber da ich
immer wieder mal vor irgendwelchen Ersetzungsproblemen stehe, ist es
direkt im vim doch einfacher.
Einen schoenen Abend noch,
Heinz.
--
E-Mail: Heinz W. Pahlke
* Heinz W. Pahlke schrieb am 06.Mai.2002:
On 06-May-2002 Andreas Gaffke wrote:
Versuchs mal mit:
vim *.html :0,$ s/<\/br>//g :w :n
Hervorragend :-)))
Aber unter welchem Stichwort findet man derartige Loesungen in der vim-Doku. So ziellos, wie ich herumgestochert habe, haette ich mehr Glueck als Verstand haben muessen.
:help :s Bernd -- Homepages von deutschsprachigen Linux-Gurus: Kristian Köhntopp: http://www.koehntopp.de/kris/artikel/ Sven Guckes: http://www.math.fu-berlin.de/~guckes/sven Robin S Socha: http://socha.net/index2.html |Zufallssignatur 10
On 06-May-2002 Bernd Brodesser wrote:
* Heinz W. Pahlke schrieb am 06.Mai.2002:
Aber unter welchem Stichwort findet man derartige Loesungen in der vim-Doku. So ziellos, wie ich herumgestochert habe, haette ich mehr Glueck als Verstand haben muessen.
:help :s
Bloss muesste man dann eben wissen, dass man nach "s" suchen muss. Ich
hatte es mit "replace" versucht :-(
Beste Gruesse,
Heinz.
--
E-Mail: Heinz W. Pahlke
* Heinz W. Pahlke schrieb am 06.Mai.2002:
On 06-May-2002 Bernd Brodesser wrote:
* Heinz W. Pahlke schrieb am 06.Mai.2002:
Aber unter welchem Stichwort findet man derartige Loesungen in der vim-Doku. So ziellos, wie ich herumgestochert habe, haette ich mehr Glueck als Verstand haben muessen.
:help :s
Bloss muesste man dann eben wissen, dass man nach "s" suchen muss. Ich hatte es mit "replace" versucht :-(
substitute wäre es gewesen. ;) Das Problem hat man mit eigentlich jedem Index. Bernd -- Umsteiger von Microsoft Windows xx? Hast Du schon file://usr/doc/howto/de/DE-DOS-nach-Linux-HOWTO.txt gelesen? Auch file://usr/doc/Books/Linuxhandbuch.dvi ist zu empfehlen. |Zufallssignatur 1
Am Mon, 06 Mai 2002 schrieb Heinz W. Pahlke:
On 06-May-2002 Bernd Brodesser wrote:
* Heinz W. Pahlke schrieb am 06.Mai.2002:
Aber unter welchem Stichwort findet man derartige Loesungen in der vim-Doku. So ziellos, wie ich herumgestochert habe, haette ich mehr Glueck als Verstand haben muessen.
:help :s
Bloss muesste man dann eben wissen, dass man nach "s" suchen muss. Ich hatte es mit "replace" versucht :-(
Halt nach dem falschen Wort gesucht. Ersetzen heißt in vim "substitute" und :he subst hätte Dich direkt zum Ziel gebracht. Gruß Christoph -- Christoph Maurer - 52072 Aachen - Tux#194235 mailto:christoph-maurer@gmx.de - http://www.christophmaurer.de Auf der Homepage u.a.: Installation von SuSE 7.0 auf Notebook Acer Travelmate 508 T, Elektrotechnik an der RWTH Aachen
On 06-May-2002 Andreas Gaffke wrote:
Versuchs mal mit:
vim *.html :0,$ s/<\/br>//g :w :n
Hervorragend :-)))
You're welcome!
Aber unter welchem Stichwort findet man derartige Loesungen in der vim-Doku. So ziellos, wie ich herumgestochert habe, haette ich mehr Glueck als Verstand haben muessen.
O'Reilly hat (wie so oft) ein nützliches Buch im Angebot: http://safari.oreilly.com/main.asp?bookname=vi6 Für diejenigen, die zu den vi-Gurus gehören wollen...
Einen schoenen Abend noch,
Heinz.
Ebenso! Andreas -- ----------------------------------------------------------- Andreas Gaffke Tel: ++49 6257 86 90 06 Kiefernweg 6 Fax: ++49 6257 86 90 07 D-64342 Seeheim-Jugenheim Germany mailto:andreas@gaffke.net Public key fingerprint: FC4D B73D 06C8 E131 8431 247B 54E7 2A83 73F6 38FF Signs of crime: screaming or cries for help. -- from the Brown Security Crime Prevention Pamphlet -----------------------------------------------------------
Hallo, On Mon, 06 May 2002, Andreas Gaffke wrote:
chef@garfield> ls -1 *.html | while read file
cp "$file" "$file.bak" do cat $file | sed -e 's/<\/br>//g' >$file.tmp mv $file.tmp $file done
<nitpick> Useless use of cat und mv. Ausserdem hast du noch nen Zeilenvertauscher drin (cp/do) und das -1 beim ls ist vor ner pipe ueberfluessig, schadet aber (natuerlich) nicht. </nitpick> ==== C&P-faehige Schreibweise ==== ls *.html | \ while read file; do \ cp -i "${file}" "${file}.bak"; \ sed 's§</br>§§g' < "${file}.bak" > "${file}"; \ done ==== Das '-i' beim cp ist falls ${file}.bak schon existieren sollte ;) Und man muss nicht s/// verwenden, sondern kann jedes Zeichen als Trennzeichen verwenden, z.B. wie oben eben s§§§, oder s,,, oder ... ;) -dnh -- You come out of a woman and you spend the rest of your life trying to get back inside. -- sig stolen from James Cort
On Mon, May 06, 2002 at 05:21:15PM +0200, Heinz W. Pahlke wrote:
in einem Anfall geistiger Umnachtung habe ich in annaehernd 100 html-Dateien zahlreiche </br> geschrieben. Da ich die Dateien aber ohnehin noch im vim weiter bearbeiten muss, dachte ich mir nun, das Loeschen dieser Tags auch gleich mit dem vim erledigen zu koennen.
Oder mit einem Perl-Einzeiler: perl -p -i -e 's:</br>::g' *.html (siehe auch http://www.heise.de/ix/artikel/1998/07/133/) -- Sascha Rogmann
participants (7)
-
Andreas Gaffke
-
B.Brodesser@t-online.de
-
Bernhard Walle
-
Christoph Maurer
-
David Haller
-
Heinz W. Pahlke
-
Sascha Rogmann