axelf
13-02-2008, 13:35
Hallo zusammen,
Ich habe eine Datei mit Messdaten.
(Zeilennummern sind keine in der Datei)
______________________________________________
1
2
3
4>#70160004B20BB21AB1D0B058AD3CAFE8B231B2C8B137B04DB 15
5 waiting for module ready
6.
7 done; module ready
9
10
11
12 terminating:
13>4 *loc
14>3 *loc
15 -0 errors detected-
16 -fertig-
__________________________________________________
aus dieser Datei interessiert mich nur Zeile 4
>#70160004B20BB21AB1D0B058AD3CAFE8B231B2C8B137B04DB 15
und zwar ab dem 11.Zeichen sprich nach ">#70160004..."
die folgenden Zahlen sind jeweils Binäre Hexwerte der Messung,wobei 4 Zeichen eine Hexzahl bilden : Also ....
B20B = HexZahl1
B21A = HexZahl2
B1D0 = HexZahl3 etc...
Was soll das Bashskript für mich erledigen ?
1. Die gewünschte Zeile 4 ab dem 11. Zeichen einlesen
2. jeweils die Hexzahlen aus diesem String extrahieren
3. die Hexzahlen in dezimalzahlen umwandeln
4. die Dezimalzahlen als csv in eine neue Datei schreiben
Meine ersten Gehversuche sehen wie folgt aus :
_______________________________________
#!/bin/bash
FILE="test.txt"
line= sed 4!d $FILE;
for (( i = 0 ; i <= 5; i++ ))
do
istart=$[31+$i*4];
istop=$[34+$i*4];
zahl= cut -b $istart-$istop $line | bc;
printf "%d\n",$zahl > ergebnis.txt
#echo "Schleife : $i times"
#echo "istart = $istart ; istop = $istop"
done
exit 0
__________________________________________
Leider geht es so nicht, und ich bin leider noch zu unerfahren um zu wissen woran es krankt...
Deswegen hoffe ich auf euere Unterstützung bzw. um Rat und Tat...
Gruß
Axel
Ich habe eine Datei mit Messdaten.
(Zeilennummern sind keine in der Datei)
______________________________________________
1
2
3
4>#70160004B20BB21AB1D0B058AD3CAFE8B231B2C8B137B04DB 15
5 waiting for module ready
6.
7 done; module ready
9
10
11
12 terminating:
13>4 *loc
14>3 *loc
15 -0 errors detected-
16 -fertig-
__________________________________________________
aus dieser Datei interessiert mich nur Zeile 4
>#70160004B20BB21AB1D0B058AD3CAFE8B231B2C8B137B04DB 15
und zwar ab dem 11.Zeichen sprich nach ">#70160004..."
die folgenden Zahlen sind jeweils Binäre Hexwerte der Messung,wobei 4 Zeichen eine Hexzahl bilden : Also ....
B20B = HexZahl1
B21A = HexZahl2
B1D0 = HexZahl3 etc...
Was soll das Bashskript für mich erledigen ?
1. Die gewünschte Zeile 4 ab dem 11. Zeichen einlesen
2. jeweils die Hexzahlen aus diesem String extrahieren
3. die Hexzahlen in dezimalzahlen umwandeln
4. die Dezimalzahlen als csv in eine neue Datei schreiben
Meine ersten Gehversuche sehen wie folgt aus :
_______________________________________
#!/bin/bash
FILE="test.txt"
line= sed 4!d $FILE;
for (( i = 0 ; i <= 5; i++ ))
do
istart=$[31+$i*4];
istop=$[34+$i*4];
zahl= cut -b $istart-$istop $line | bc;
printf "%d\n",$zahl > ergebnis.txt
#echo "Schleife : $i times"
#echo "istart = $istart ; istop = $istop"
done
exit 0
__________________________________________
Leider geht es so nicht, und ich bin leider noch zu unerfahren um zu wissen woran es krankt...
Deswegen hoffe ich auf euere Unterstützung bzw. um Rat und Tat...
Gruß
Axel