Ich lösche aus einer Masterdatei regelmäßig bestimmte Zeilen. Das mache ich mit
sed -f masterdatei Löschbegriffedatei > bereinigteDatei
In der Datei Löschbegriffe sind die zu löschenden strings hinterlegt, also
/blablabla$/d
...
Ich nutze einen Lenovo T420 und der erledigt diesen Bereinigungsvorgang immer langsamer. Das fing damals bei 6 oder 7 MB an. Mittlerweile ist die Masterdatei ca. 23 MB groß und die Datei mit den Löschbegriffen ca. 90KB. Auf dem Lenovo dauert der Löschvorgang aktuell rund 12 Minuten.
Leider kenne ich mich mit perl, grep, awk usw. nicht aus. Gibt es da möglicherweise schnellere Alternativen?
Schnellere Alternative zu sed -f gesucht
Re: Schnellere Alternative zu sed -f gesucht
Code: Alles auswählen
fgrep -xvf Löschbegriffedatei masterdatei > bereinigteDatei
Use ed once in a while!
Re: Schnellere Alternative zu sed -f gesucht
Danke @Meillo, ich werde das bei nächster Gelegenheit testen und mich danach wieder melden.
Re: Schnellere Alternative zu sed -f gesucht
Klasse. Ich bin schon auf die Laufzeitunterschiede gespannt. Ebenso welcher Art die Regexps sind und folglich, welche Variante des Befehls am besten passt. Halte uns also unbedingt auf dem Laufenden.mino23 hat geschrieben:14.05.2020 18:18:44Danke @Meillo, ich werde das bei nächster Gelegenheit testen und mich danach wieder melden.
Use ed once in a while!