B
Blackcollar
Grünschnabel
Moin Leute,
mit cut kann ich ja folgendes machen :
Mit dem Befehl cut -d"|" -f 1 gibt er mir dann ja asd aus. soweit alles klar.
Nun habe ich aber eine Datei in der die Werte vertikal sind:
Nun brauche ich einen Befehl der ### als delimiter angibt und dann den Text drunter ausgibt. Dummerweise sind es nicht immer 3 Zeilen sonst würde ich mir aus tail und head etwas bauen.
Weiß hier jemand rat ?
gruß
'collar
.
.
.
EDIT (autom. Beitragszusammenführung) :
.
Unter der Annahme dass nach dem letzten Eintrag nix mehr kommt funktioniert mein kleines zusammengebasteltes Script so ...
lieber wäre es mir aber wenn es einen Befehl dazu gibt.
von daher wer Ideen hat, als her damit
gruß
'collar
mit cut kann ich ja folgendes machen :
Code:
Dateiinhalt : asd | qwe | lew | qwe
Mit dem Befehl cut -d"|" -f 1 gibt er mir dann ja asd aus. soweit alles klar.
Nun habe ich aber eine Datei in der die Werte vertikal sind:
Code:
####
test lol
mope asd
rofl ass
####
test lol2
mope asd2
rofl ass2
####
test lol3
mope asd3
rofl ass3
Nun brauche ich einen Befehl der ### als delimiter angibt und dann den Text drunter ausgibt. Dummerweise sind es nicht immer 3 Zeilen sonst würde ich mir aus tail und head etwas bauen.
Weiß hier jemand rat ?
gruß
'collar
.
.
.
EDIT (autom. Beitragszusammenführung) :
.
Unter der Annahme dass nach dem letzten Eintrag nix mehr kommt funktioniert mein kleines zusammengebasteltes Script so ...
lieber wäre es mir aber wenn es einen Befehl dazu gibt.
von daher wer Ideen hat, als her damit
gruß
'collar
Code:
file="menu.lst"
grep="title"
#
q=0
for i in `grep -n $grep $file | cut -d":" -f 1`
do
if [ $q != 0 ]
then
cat $file | head -n $(( i - 1 )) | tail -n $(( i - q ))
echo ""
fi
q=$i
done
x=`wc $file -l | cut -d" " -f1`
cat $file | head -n $x | tail -n $(( x - q + 1 ))
Zuletzt bearbeitet: