Thomas Schwarze wrote:
>
> Hallo Henning,
>
> > > Ich brauche noch mal Eure Hilfe. Wie man eine Datei teilt bzw. splittet habe
>ich schon herausgefunden. Ich benutze den Befehl SPLIT im bash.
> >
> > Dafuer gibts cat (=concatenate)
> > cat infile1 infile2 ... > outfile
>
> mich w�rde interessieren, wie ich Dateien zusammenf�gen kann, wenn ich gleichzeitg
>am Anfang oder am Ende der einen oder anderen Datei eine
> bestimmte Anzahl von Bytes abschneiden m�chte, um einen Header zu entfernen.
Da gibt's verschiedene Hilfsmittel
sed -n 'x,yp' Gibt von einer Datei die Zeilen von ZeilenNummer
x bis y aus.
sed -n 'x,y!p' Gibt alle Zeilen, ausser denen von x bis y aus.
sed -n 'xp' Gibt nur Zeile x aus
sed -n 'x!p' Gibt alles ausser Zeile x aus
tail -x Gibt nur die letzten x Zeilen aus
head -x Gibt nur die ersten x Zeilen aus
wc -l Gibt die Anzahl der Zeilen einer Datei an
Wenn bei allen Dateien gleichermassen ein Footer und/oder ein Header
weggelassen werden sollen, kann man die obigen Befehle ineiner Schleife
abarbeiten und die Ausgabe in die gewuenschte Datei lenken
Annahme bei allen Dateien im gegenwaertigen Verzeichnis sollen die ersten
drei und die letzten zwei Zeilen abgeschnibbelt und das Ganze zu einer Datei
zusammengesetzt werden, z.B.:
beg=3 end=2
for i in *; do
Lines=`cat $i | wc -l`
sed -n $((beg+1)),$((Lines-end))p $i
done > AusgabeDatei
Damit wird weggelassen, was weggelassen werden soll und alles wird in
AusgabeDatei geschrieben.
Wenn diese Zahlen natuerlich nicht konstant sind, musst du vermutlich
nach Zeilen mit bestimmten Inhalten suchen. Das geht natuelich auch,
ist nur ein kleines bischen komplizierter
Henning
--
H. Henning Vossieck - [EMAIL PROTECTED] - http://www.ndh.net/home/vossieck/
49 2291 3010/6519
--
Um aus der Liste ausgetragen zu werden, eine Mail an [EMAIL PROTECTED]
schicken, mit dem Text: unsubscribe suse-linux