Search & Replace Tool gesucht

Torsten Ernst

Mitglied
Ich teste daran bereits seit heute Morgen, ich kriege es nicht hin. :(
Ein bisschen weiter bin ich schon gekommen, aber mit ".*,CW.*\n" wird leider nur jede zweite Zeile markiert.

Mit freundlichen Grüßen
 

sheel

I love Asm
Also ,CW (mit dem Komma) soll gesucht werden (oder?), und alle Zeilen damit weg.
Code:
^.*,CW.*\R
Natürlich im Dialog noch angeben, ob Groß/kleinschreibung wichtig ist und Unterordner ja/nein,
und "." soll keine Newlines akzeptieren (wichtig).
Das Replacetextfeld selber leer lassen, Ordner und ggf. Filenamenfilter setzen und los...
 
Zuletzt bearbeitet:

Torsten Ernst

Mitglied
Ich konnte es gar nicht glauben, aber damit funktioniert es tatsächlich! :)
Ich ich war schon kurz davor aufzugeben. Besten Dank für die Hilfe!!!

Mit freundlichen Grüßen, Torsten
 

ikosaeder

Teekannen-Agnostiker
Warum nimmst du nicht Python oder perl. Suchen und ersetzten ist damit ein Kinderspiel, auch bei 1000 Dateien. Afaik gibt es auch sed für Windows.
 

sheel

I love Asm
(Naja, warum so umständlich, wenn man NP++ schon laufend hat
und das mit der richtigen Eingabe eine Sache von 10sec ist?)
 

Torsten Ernst

Mitglied
Leider klappt es doch nicht so reibungslos wie erhofft. Kleine Dateien sind kein Problem, dass geht super. Aber bei Dateien so ab ca. 15MB passiert auch nach einer längerer Wartezeit nichts. Nun wollte ich es mit dem Programm "TextCrawler" ausprobieren. Dieses Tool kommt wohl auch mit großen Dateien klar, aber hier gibt es Probleme mit dem "\R". Das wird nicht unterstützt, da meckert das Programm. Gibt es zum "\R" Alternativen?

Mit Perl oder Python kenne ich mich nicht aus. Ich bin schon froh mit Board-Unterstützung NP++ vernünftig bedienen zu können. ;)

Mit freundlichen Grüßen, Torsten
 

sheel

I love Asm
Welche Maßstäbe sind klein oder groß? Ca. 600MB war bisher das Höchste, was ich dem Programm zugtraut habe,
und das hat schon einige Zeit gedauert, aber funktioniert hats trotzdem.

Sonst ist ein spezialisiertes Programm natürlich schon schneller ...
wenn du bis zum Abend warten kannst (oder bei Gelegenheit auch früher), mach ich was in C
(Windows?)
edit: Hat sich dann wohl erledigt, siehe ikosaeder unten :)

Zum \R: Keine Ahnung was dieses Textcrawler für Sytnax versteht und was nicht
Eine Schreibweise für alle Programme gibts bei Regexp nicht.
 
Zuletzt bearbeitet:

ikosaeder

Teekannen-Agnostiker
So könnte eine Lösung in Python aussehen:
Python:
#!/usr/bin/python
import os,sys,re
try:
  filename=sys.argv[1]
  f = open( filename, 'rU')
  a = f.readlines()
  f.close()
except OSError, e:
  print "Input file could not be opened",e

for i in a:
  if 'CW' in i:
  a.remove(i)

try:
  f=open(filename,'wB')
  f.write("".join(a))
  f.close
except OSError, e:
  print "Output file could not be opened",e
Einfach mit NP++ als removeCwLines.py speichern.
Ich habe solche Skripte schon auf Dateien mit mehreren 100 MB losgelassen, also sollte das auch bei deinen Dateien gehen. Getestet habe ich es mit den beiden Zeilen, die du gepostet hast.

Um das auf 1000 Dateien anzuwenden, musst du das ganze in einer Shell /DOS-Prompt mit einem Fileloop aufrufen.
Code:
forfiles /s /c python removeCwLines.py
Siehe http://ss64.com/nt/forfiles.html für Details. Das DOS -Command habe ich jetzt nicht getestet.
 

Torsten Ernst

Mitglied
Ich glaube das hier ist das schnellst Forum der Welt! :D
Zur Zeit bin ich auf Arbeit und kann das jetzt nicht testen, ich versuche es dann heute Abend zu Hause. Ich hoffe ich bekomme das hin und stelle mich nicht zu doof an. Was ich jetzt nicht verstehe ist woher das Script weiß in welchem Ordner die Textdateien liegen. Wie gebe ich den Pfad an? Oder muss ich per DOS-Promt mit "cd" erst in das jeweilige Verzeichnis wechseln und dann den Befehl ausführen? Danke für die Hilfe.

Mit freundlichen Grüßen, Torsten
 

Torsten Ernst

Mitglied
Hab mir die verlinkte Seite nun genau durchgelesen und habe das mit dem Pfad wohl verstanden, hoffe ich jedenfalls. Bin gespannt ob es klappt.

Mit freundlichen Grüßen, Torsten