Suchen und ersetzen Sie Text in einer 47 GB großen Datei
Habe ich zu tun, einige suchen-und-ersetzen-Aufgaben auf eine ziemlich große Datei , etwa 47 GB groß .
Weiß jemand, wie dies zu tun ? Ich habe versucht, mit Dienstleistungen wie TextCrawler , EditpadLite und mehr, aber nichts unterstützt diese große Datei .
Ich gehe davon aus, dass dieses erfolgt über die Kommandozeile .
Haben Sie eine Idee, wie dies erreicht werden kann ?
InformationsquelleAutor der Frage Shrayas | 2011-08-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sed (stream-editor zum filtern und transformieren von text) ist dein Freund.
Sed führt text-Transformationen in einem Arbeitsgang.
InformationsquelleAutor der Antwort Ryan
Benutze ich FURZ - Suchen Und Ersetzen von Text von Lionello Lunesu.
Es funktioniert sehr gut auf Windows Sieben x64.
Finden Sie und ersetzen Sie den text mit diesem Befehl:
InformationsquelleAutor der Antwort JorgeKlemm
Unter Unix oder Mac:
sed 's/old_string in/newstring/g' oldfile.txt > newfile.txt
schnell und einfach...
InformationsquelleAutor der Antwort Ignacio Carvajal
Wenn Sie mit einem Unix-ähnlichen system können Sie dann cat | sed zu tun
Beispiel ersetzt com mit Netto in eine Liste von domain-Namen, und dann können Sie leiten Sie die Ausgabe in eine Datei.
InformationsquelleAutor der Antwort Devraj
Für mich keines der tools die hier vorgeschlagen wird, gut funktionieren. Textcrawler aß alle meine computer ' s memory, die SED hat überhaupt nicht funktioniert, Editpad, beschwert Speicher...
Die Lösung: erstellen Sie Ihre eigenen Skript in python, perl oder auch C++.
Oder verwenden Sie das Werkzeug, PowerGrep, das ist die einfachste und Schnellste option.
Ich habe nicht versucht, Furz, es ist nur die Befehlszeile und vielleicht auch nicht sehr freundlich.
Einige hex-editor wie Ultraedit auch gut funktionieren.
InformationsquelleAutor der Antwort skan
Ich verwendet
ersetzen Sie alle Instanzen von n in meine 7Gb Datei.
Wenn ich die weggelassen
> newfile.fasta
Aspekt es dauerte eine Ewigkeit, wie es gescrollt, bis der Bildschirm zeigt mir jede Zeile der Datei.Mit der
> newfile
es lief in einer Angelegenheit von Sekunden, auf einem ubuntu-serverInformationsquelleAutor der Antwort Julian