PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : AWK - Tool



Little H
28.06.02, 07:25
Ich bräuchte mal ein sricpt was mir mit dem awk-Befehl aus einer Datei die ersten 20 Zeilen ausschneidet und in einer 01.txt Datei ausgibt.

Danach die nächsten 20 Zeilen und in einer 02.txt Datei ausgibt, usw. ...

Es muß auch nicht unbedingt mit awk gemacht werden, wenn es andere Möglicheiten dazu gibt....

Danke !!!

pitu
28.06.02, 08:50
die befehle lauten "tail" und "head"

tail -n +0 | head -n 20 > 01.txt
tail -n +20 | head -n 20 > 02.txt

"tail -n XX" gibt XX Zeilen der Datei von nten gezaehlt aus
"tail -n +X" gibt ab der Xten Zeile von oben aus

"head -n XX" gibt die ersten XX Zeichen aus.

pitu

micha
28.06.02, 10:46
Hi,



#!/bin/sh


if [ ! -f "$1" ];
then
echo "Usage: $0 [FILE]"
exit 1
fi

File="$1"
Lines=$(sed -ne '$=' $File)

for(( a=1,b=1; b < Lines; a++,b+=20 ))
do
Name=$a

if(( a < 10 ))
then
Name="0$a"
fi

(( c = b + 20 ))
sed -ne "${b},${c}p" $File > $Name.txt
done

exit 0


Gruß micha

pitu
28.06.02, 12:32
oder so ;-)

pitu