grep output formatieren

M

mahed

Aktives Mitglied
Thread Starter
Dabei seit
26.03.2006
Beiträge
411
Reaktionspunkte
1
Guten Tag
Ich habe eine Datenreihe, bei der ich einen Wert auslesen will:
Code:
grep -i "total energy =" ./*log
./prod-b3lyp-3-N21-0-0-F.log:                       TOTAL ENERGY =    -152.8893323030
./prod-b3lyp-3-N21-0-0-F.log:                       TOTAL ENERGY =    -152.8900597586
./prod-b3lyp-6-N31-1-0-F.log:                       TOTAL ENERGY =    -153.7408140272
./prod-b3lyp-6-N31-1-0-F.log:                       TOTAL ENERGY =    -153.7416261345
./prod-b3lyp-6-N311-1-0-F.log:                       TOTAL ENERGY =    -153.7837113638
./prod-b3lyp-6-N311-1-0-F.log:                       TOTAL ENERGY =    -153.7849050557
./prod-b3lyp-6-N311-1-0-T.log:                       TOTAL ENERGY =    -153.7892045053
./prod-b3lyp-6-N311-1-0-T.log:                       TOTAL ENERGY =    -153.7902612727
./prod-b3lyp-6-N311-1-1-F.log:                       TOTAL ENERGY =    -153.7892108425
./prod-b3lyp-6-N311-1-1-F.log:                       TOTAL ENERGY =    -153.7903124591
./prod-b3lyp-6-N311-1-1-T.log:                       TOTAL ENERGY =    -153.7946240331
./prod-b3lyp-6-N311-1-1-T.log:                       TOTAL ENERGY =    -153.7955904367
./prod-b3lyp-6-N31-1-1-F.log:                       TOTAL ENERGY =    -153.7464656300
./prod-b3lyp-6-N31-1-1-F.log:                       TOTAL ENERGY =    -153.7472327757
./prod-mp2-3-N21-0-0-F.log:                       TOTAL ENERGY =    -152.0540491935
./prod-mp2-3-N21-0-0-F.log:                       TOTAL ENERGY =    -152.3606586664
./prod-mp2-3-N21-0-0-F.log:                       TOTAL ENERGY =    -152.3622481253

Wie sich erkennen lässt, enthält jedes File einen "TOTAL ENERGY =" Eintrag, zweimal. Ich will allerdings nur den letzten Eintrag sehen (und dann in eine OpenOffice Calc Tabelle importieren). Wenn ich allerdings
Code:
for i in *log
do
grep -i "TOTAL ENERGY =" $i |tail -n 1
bemühe, werden keine Dateinamen ausgegeben, was die Auswertung recht schwierig macht. Wenn ich zusätzlich
Code:
echo $i; grep -i "TOTAL ENERGY =" $i |tail -n 1
einfüge, so ist der Dateiname und der Wert auf zwei verschiedenen Zeilen.
Wie kann ich den jeweils zweiten Wert und den Filenamen auf einer Bildschirmzeile ausgeben?

Danke für eure Hinweise.
 
echo -n blabla
 
So zum Beispielt
Code:
for i  in foo
do
ausgabe=`grep ....`
j++
if [ $j % 2 == 0 ]
then
echo $ausgabe
fi
done
 
Zurück
Oben Unten