Search & Replace Tool gesucht

Alice

Erfahrenes Mitglied
Ich habe knapp 3000 SVG-Dateien mit NP++ bearbeitet (Suchen und Ersetzen über 3 Zeilen!) und das ganze hat mit meinem Business-Computer einmal "Pipi machen" gedauert.

i7@16GB

Starte das Teil und lass einfach laufen...
 

Torsten Ernst

Mitglied
Das hab ich schon unzählige mal probiert, das hat nicht funktioniert. Hier i7@8GB, also auch nicht die langsamste Maschine. Ich lass es gerade laufen, es befinden sich 2 Dateien mit je ca. 20MB im Ordner. 7 Minuten sind rum, NP++ sucht aber es passiert nichts. Ich schicke mal eine Datei mit. Ich habe die Hälfte rausgelöscht damit sie nicht so groß ist, am besten durch kopieren der Zeilen wieder verdoppeln.

MfG, Torsten
 

Anhänge

  • 20120825.zip
    1,5 MB · Aufrufe: 11

Torsten Ernst

Mitglied
In meiner Verzweiflung habe ich es gerade noch einmal mit "Textcrawler 3" versucht. Dort hat es mit ^.*,CW.*\n und aktiviertem "Multi-line-Anchors" funktioniert. 5 Dateien mit ca. 15MB wurden in ca. 30 sec bearbeitet. :) Ich werde dann dieses Programm (Freeware) dafür verwenden.

Ich möchte mich an dieser Stelle noch einmal bei allen für die großartige Hilfe bedanken.

MfG, Torsten
 

Torsten Ernst

Mitglied
Das Python eine Programmiersprache ist weiß ich schon, hätte ja sein können das Windows noch zusätzlich etwas benötigt um damit zurecht zu kommen was bei Linux nicht erforderlich ist. Bitte beachten, ich bin nicht mehr der Jüngste... ;)

MfG, Torsten
 

ikosaeder

Teekannen-Agnostiker
Wenn es mit dem Textcrawler funktioniert ist doch alles in Ordnung. Man sollte immer das benutzen was man am Besten kennt, auch wenn das nicht das ist, was am besten funktioniert.
Ich kann mich übrigens auch noch an eine Zeit ohne Computer und Handys erinnern.
 

Torsten Ernst

Mitglied
Darf ich bitte noch einmal nerven? Ich habe inzwischen alles hinbekommen bis auf eine Sache. Ich habe ganz zum Schluss jeder Textdatei eine Leerzeile, die müsste weg. Ein Screenshot habe ich angehängt, in diesem Beispiel ist es die Zeile 1511. Auch hier habe ich versucht allein klar zu kommen und via RegEx eine Lösung zu finden, leider ohne Erfolg. Hat evtl. jemand einen Tipp für mich?

MfG, Torsten
 

Anhänge

  • Leerzeile.png
    Leerzeile.png
    4,6 KB · Aufrufe: 12

ikosaeder

Teekannen-Agnostiker
Python:
#!/usr/bin/python
import sys
#try leiten einen Block ein, der Ausnahmen/ Fehler abfängt
try:
  #Dateiname wird als Parameter dem Programmaufruf uebergeben
  filename=sys.argv[1]
# Oeffnet die Datei lesend
  f = open( filename, 'rU')
# Erzeugte eine Liste a mit allen Zeilen der Datei
  a = f.readlines()
# Datei schliessen
  f.close()
# Ausnahmenbehandlung
except OSError, e:
  print "Input file could not be opened",e
#Test ob letzte Zeile leer
if len(a[-1].strip()) == 0 :
#Letzte Zeile aus der Liste loeschen
  a.pop()
#Ausgaben der Zeilen in die urspruengliche Datei
try:
  f=open(filename,'wB')
  f.write("".join(a))
  f.close
except OSError, e:
  print "Output file could not be opened",e
 

Torsten Ernst

Mitglied
Danke für die Hilfe. Nachdem ich nun Python für Windows installiert konnte ich mit:

forfiles /s /c "python del-zeile.py @File"

das Script starten. Leider wird die letzte leere Zeile nicht gelöscht, es ändert sich nichts. Es laufen zwar alle Zeilen durch, aber es wird mir im DOS-Prompt ein Syntax-Error angezeigt. Ich habe ein Screenshot angehängt, evtl. hilft das.

Mfg, Torsten
 

Anhänge

  • python.png
    python.png
    39,6 KB · Aufrufe: 16

ikosaeder

Teekannen-Agnostiker
Sorry ich habe ein 'ä' in den Kommentaren übersehen. Bei sowas reagiert der Pythoninterpreter immer etwas verschnupft.
Das erklärt zumindest den letzten Error. Ich hoffe, das damit alle Probleme beseitigt sind.