Werkzeug für bestimmte Editierzwecke
Schiri
- sonstiges
0 JürgenMaier0 seth_not@home0 Schiri0 seth_not@home
0 imho_tep
Hallo,
kennt jemand ein Programm, mit dem ich in einer Textdatei (HTML u.a.)
a. eine Zeile einfügen kann nach einem bestimmten Ausdruck
(wie "suchen und ersetzen" die Funktion "suchen und danach einfügen"
b. Leerzeilen löschen kann?
Hallo,
Versuchs mal damit:
http://forum.de.selfhtml.org/archiv/2005/2/t100539/#m616155
MfG
Hallo,
ersetzen können in der Tat viele.
Was ich möchte, habe ich aber dabei nicht gefunden.
Wie soll man als Suchkriterium eine Leerzeile angeben?
Wie soll man als Ersetzungstext angeben 'irgendwas<neue Zeile>irgendwas'?
Hi Schiri,
ersetzen können in der Tat viele.
Was ich möchte, habe ich aber dabei nicht gefunden.
Wie soll man als Suchkriterium eine Leerzeile angeben?
Wie soll man als Ersetzungstext angeben 'irgendwas<neue Zeile>irgendwas'?
Wo ist das Problem:
1. Ersetze "irgendwas" mit "irgendwas irgendwas Neues", dann steht hinter irgendwas, deine eingefügte Zeile.
2. Leerzeilen findest und ersetzt du am Besten mit einem hexeditor.
Da nicht auszuschließen ist, dass die Zeilen gar nicht richtig leer sind. Im hexeditor siehst du, was dort tatsächlich steht und kannst dies ersetzen.
ciao
romy
Wo ist das Problem:
- Ersetze "irgendwas" mit "irgendwas irgendwas Neues", dann steht hinter irgendwas, deine eingefügte Zeile.
und wie kriegst Du den Zeilenwechsel hin?
- Leerzeilen findest und ersetzt du am Besten mit einem hexeditor.
Da nicht auszuschließen ist, dass die Zeilen gar nicht richtig leer sind. Im hexeditor siehst du, was dort tatsächlich steht und kannst dies ersetzen.
Ich habe aber in vielen Dokumenten an vielen Stellen das Problem.
Mit einem normalen Editor wäre ich Tage beschäftigt.
Und eine Leerzeile müßte man doch definieren können?
z.B. keine Zeichen ausser x"20" und dem abschliessenden x"0D0A"
Hi Schiri,
und wie kriegst Du den Zeilenwechsel hin?
Ich habe aber in vielen Dokumenten an vielen Stellen das Problem.
Mit einem normalen Editor wäre ich Tage beschäftigt.
Und eine Leerzeile müßte man doch definieren können?
z.B. keine Zeichen ausser x"20" und dem abschliessenden x"0D0A"
Das einzige, was mir einfällt ist der Total Commander mit seinem Mehrfach Umbenenntool, welches reg.Ex. unterstützt.
Wie die Reg.Ex. in deinem Fall auszusehen hat kann ich nicht sagen, ich stecke da zuwenig drin, aber es geht auf diese Weise in jedem Falle.
ciao
romy
gudn tach!
kennt jemand ein Programm, mit dem ich in einer Textdatei (HTML u.a.)
a. eine Zeile einfügen kann nach einem bestimmten Ausdruck
(wie "suchen und ersetzen" die Funktion "suchen und danach einfügen"
b. Leerzeilen löschen kann?
ja, sed oder perl (gibts fuer linux und auch fuer windows)
z.b.
a) perl -pi -e "s/(ausdruck.*)/\1\n/" file.ext
b) perl -pi -e "s/^\r?\n//" file.ext
oder alternativ
a) cat input.ext | perl -pi -e "s/(ausdruck.*)/\1\n/" > output.ext
b) cat input.ext | perl -pi -e "s/^\r?\n//" > output.ext
falls du mehrere dateien rekursiv bearbeiten willst, kannst du das entweder ueber eine schleife (stichwort "for") bewerkstelligen oder ueber tools wie diesem in perl geschriebenen hier.
prost
seth
Habe es ausprobiert.
Muß vorausschicken, mit Perl habe ich noch nicht viel gemacht, daher kann ich mit den Fehlermeldungen nichts anfangen.
In der Variante
perl -pi -e "s/(ausdruck.*)/\1\n/" file.ext
kommt die Meldung:
can't do inplace edit without backup.
In der Variante
cat input.ext | perl -pi -e "s/(ausdruck.*)/\1\n/" > output.ext
kommt die Meldung:
Der Befehl cat ist falsch oder er wurde nicht gefunden.
gudn tach!
Muß vorausschicken, mit Perl habe ich noch nicht viel gemacht, daher kann ich mit den Fehlermeldungen nichts anfangen.
In der Variante
perl -pi -e "s/(ausdruck.*)/\1\n/" file.ext
kommt die Meldung:
can't do inplace edit without backup.
hmm, bin mir auch nicht sicher. setz mal hinter die option "i" ein ""bak"", also
perl -pi"bak" -e ...
In der Variante
cat input.ext | perl -pi -e "s/(ausdruck.*)/\1\n/" > output.ext
kommt die Meldung:
Der Befehl cat ist falsch oder er wurde nicht gefunden.
ok, also windows. cat gibt's auch fuer windows. (in cygwin oder gnu utils for windows).
alternativ waere wie gesagt textre, wenn perl eh schon installiert ist:
textre.pl "^\n" "" --filesRE="dateien.ext"
prost
seth
hmm, bin mir auch nicht sicher. setz mal hinter die option "i" ein ""bak"", also
perl -pi"bak" -e ...
Du darfst Dir sicher sein, es klappt. Danke!
gudn tach!
hmm, bin mir auch nicht sicher. setz mal hinter die option "i" ein ""bak"", also
perl -pi"bak" -e ...
Du darfst Dir sicher sein, es klappt. Danke!
ok, ich habe aber noch vergessen zu sagen, dass du dadurch eine bak-datei erzeugst, die du ggf. wieder loeschen solltest. (siehe "perl --help").
prost
seth
Hey,
cat gibt's auch fuer windows. (in cygwin oder gnu utils for windows).
bitte unxutils nicht mehr bewerben, ist schon seit vier Jahren nicht mehr aktualisiert worden. Besser: http://gnuwin32.sourceforge.net/ cat befindet sich dort im Package TextUtils.
Ich darf dir jetzt auch einen Katzenkopp verpassen wegen useless use of cat.
gudn tach!
cat gibt's auch fuer windows. (in cygwin oder gnu utils for windows).
bitte unxutils nicht mehr bewerben, ist schon seit vier Jahren nicht mehr aktualisiert worden. Besser: http://gnuwin32.sourceforge.net/ cat befindet sich dort im Package TextUtils.
ah, das kannte ich noch nicht. dass das andere ist zwar alt war, war mir bewusst, aber es funzte eben... ;-)
ok, also jetzt gnuwin32.
Ich darf dir jetzt auch einen Katzenkopp verpassen wegen useless use of cat.
oops ja, doof.
perl -pe "s/^\n//" infile > outfile
so ok?
prost
seth
kennt jemand ein Programm, mit dem ich in einer Textdatei (HTML u.a.)
a. eine Zeile einfügen kann nach einem bestimmten Ausdruck
(wie "suchen und ersetzen" die Funktion "suchen und danach einfügen"
b. Leerzeilen löschen kann?
»»
Ja. Word.