Ich muss Wörter in Dateien/Ordnern mit einer Länge von 234.206 Wörtern ersetzen.
Notepad++ erlaubt nicht mehr als 2.047 Wörter zum Ersetzen von Wörtern. TextCrawler 3 erlaubt keine Wortersetzung von mehr als 29.999 Wörtern.
Nur einfacher Austausch. Keine spezielle Regex erforderlich.
Die Option Dateien/Unterordner im Ordner ist erforderlich.
Sie sollten dies mit einem einfachen Python- Skript tun können, etwa so:
import os
# Assuming that the replacement words are in a plain text file with
# colon separating the original & new words and one pair per line.
SEP = ":"
REPLACE_SOURCE = "/full/path/to/replacement/list.txt"
START_DIR = "."
with open(REPLACE_SOURCE) as infile:
replacement_pairs = [line.strip().split(SEP) for line in infile]
for (root, dirs, files) in os.walk(START_DIR):
print("Working in", root)
for fname in files:
fullpath = os.path.abspath(os.path.join(root, fname)
if fname.lower.endswith('.txt') and fullpaht != REPLACE_SOURCE:
print("\tProcessing", fname)
intext = open(fullpath).read()
for orig, repl in replacement_pairs:
intext = intext.replace(orig, repl)
# You may wish to consider renaming the original file here!
with open(fullpath, 'wt') as outfile:
outile.write(intext)
Warnung: Der Inhalt aller .txt-Dateien im aktuellen Verzeichnis wird ersetzt.
Dies sollte gut zurechtkommen, es sei denn, einige der Dateien sind zu groß, als dass der Inhalt in den verfügbaren Speicher passen würde.
Python ist kostenlos, plattformübergreifend und Open Source.
Sie haben also dieses riesige Klartextdokument und Sie werden etwas suchen/ersetzen, das Hunderttausende von Vorkommen hat.
Beenden Sie Notepad und führen sed
Sie es einfach aus. https://www.gnu.org/software/sed/manual/sed.txt
Eingebaut in OS X und Linux, es gibt Win32-Ports/Builds, sollte im Linux-in-Windows-Ding enthalten sein usw.
Engel Montes de Oca