Große Textdateien bearbeiten

Du suchst ein Programm für einen bestimmten Zweck?
Antworten
Benutzeravatar
s-p
Beiträge: 109
Registriert: 13.02.2006 18:48:53

Große Textdateien bearbeiten

Beitrag von s-p » 19.01.2007 14:13:21

Hallo

Ich habe ein paar sehr große Textdateien die ich mir ansehen muss. Die Dateien sind zwischen 700MB und 1GB groß. Natürlich möchte ich die Dateien nicht komplett lesen, aber ein Programm das solche Dateien einlesen kann und Such- sowie Ersetzung-Funktionen bietet wäre schon ganz nett.

Hat vielleicht jemand eine Idee?

Vielen Dank.

Gruß
Sven
Debian Testing (Linux 2.6.32 SMP); Gnome 2.28

goecke
Beiträge: 289
Registriert: 12.01.2007 11:57:27

Beitrag von goecke » 19.01.2007 14:36:47

Hallo,

man kann Editoren verwenden (ich glaube vim geht immer), aber normalerweise lesen die die Datei
halt ein (besonders wenn man suchen und ersetzten möchte)

suchen und ersetzten mache ich immer mit sed (es gehen auch awk, perl,... )

Code: Alles auswählen

cat datei.txt  |  sed "s/alter_text/neuer_text/gi" > Neue_datei.txt
mit sowas hat man am wenigsten Probleme.

Wenns sinn macht versuche die relevanten Dinge mit "grep" zu extrahieren,
oder teile eine große Datei in mehrere kleinere mit "split"

gruss
Johannes

stam
Beiträge: 34
Registriert: 20.06.2005 12:25:18
Kontaktdaten:

Beitrag von stam » 19.01.2007 15:18:35

Zum Suchen und Ersetzen nutze ich üblicherweise rpl (http://www.unixreview.com/documents/s=8989/ur0407h/). Ich habe es allerdings noch nie auf so große Dateien losgelassen...

Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Beitrag von Duff » 19.01.2007 15:40:42

Also ich würde einfach ein grep über die Datei jagen oder wenn ich sie mir nur anschauen möchte, würde ich ein less verwenden.

Bestimmte Wörter ersetzen kannst du ja z.B. mit sed oder aber du liest dir die Dateien über einen perl-Einzeiler ein und manipulierst sie dann über substitude.
Oh, yeah!

lsalchow
Beiträge: 80
Registriert: 14.08.2006 12:40:11
Wohnort: berlin

Beitrag von lsalchow » 20.01.2007 22:07:03

was möchtest du denn eigentlich in der datei finden und wie sind die gemeinsamkeiten zwischen den text auszügen welche du finden willst

Benutzeravatar
Joghurt
Beiträge: 5244
Registriert: 30.01.2003 15:27:31
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Joghurt » 23.01.2007 22:10:12

goecke hat geschrieben:

Code: Alles auswählen

cat datei.txt  |  sed "s/alter_text/neuer_text/gi" > Neue_datei.txt
Auch hier ist wieder mal cat überflüssig:

Code: Alles auswählen

sed "s/alter_text/neuer_text/gi" datei.txt > Neue_datei.txt
Übrigens stimmt "Alter_Text" nicht ganz, das ist nämlich eine Regexp. Das merkt man spätestens dann, wenn man alle Punkte durch Leerzeichen ersetzen will :wink:

Antworten