Hallo Liste,
ich habe ein kleine Problem was die Größe von Logfiles angeht.
Hin und wieder nehmen die eine Größenordnung an, dass es nimmer lustig ist.
Leider kann ich nicht einfach das Logfile wegkopieren und dann per gz
packen,
sondern ich muss aus dem bestehenden Logfile alles ausschneiden, in ein
anderes
file packen, und dann kann ich die Zeilen da rauslöschen. Ich habe das
mal versucht,
so hier zu realisieren:
$1 -> logfile
$2 -> neues gepacktes logfile
LINES=`cat $1 | wc -l`;
head -n$LINES $1 | gzip -c > $2.gz;
vi -c "1,$LINES:d" -c "wq" $1;
echo "$LINES Zeilen von $1 nach $2.gz gepackt.";
LINES="";
Das geht auch soweit ganz gut, nur habe ich dabei ein kleines Problem.
vi ist dafür einfach definitv zu langsam. Bei einem Logfile von 2 GB bin
ich schneller,
<übertreibung>wenn ich das von Hand abschreibe</übertreibung>.
Hat jemand eine Idee, wie ich effektiver eine Anzahl von "x" Zeilen aus
einer Datei
löschen kann?
Grüße, Peter
--
----------------------------------------------------------------------------
PUG - Penguin User Group Wiesbaden - http://www.pug.org