Lieber Besucher, herzlich willkommen bei: Linux Forum Linux-Web.de. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.
Quellcode |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
#/bin/bash ls *.csv > liste.txt FILES=`wc -l < liste.txt` FILE=`head -1 liste.txt|tail -1` ALLLINES=`wc -l < $FILE` HEADER=22 LINES=`expr $ALLLINES - $HEADER` volt=`head -$HEADER $FILE |tail -1|cut -f1 -d","` k=0 h=$HEADER while test $k -le $LINES do i=1 l=1 while test $i -le $FILES do FILE=`head -$i liste.txt|tail -1` # ./lines.sh $1 $l $h $FILE if test $l -lt $1 then curr=`head -$h $FILE |tail -1|cut -f2 -d","` printf "%s$curr\t" # printf "%s$curr\t" >> $volt.dat # echo -ne "$curr\t" >> $volt.dat l=`expr $l + 1` else curr=`head -$h $FILE |tail -1|cut -f2 -d","` printf "%s$curr\n" l=1 fi i=`expr $i + 1` done k=`expr $k + 1` h=`expr $HEADER + $k` volt=`head -$h $FILE |tail -1|cut -f1 -d","` done |
Benutzerinformationen überspringen
Prof. Dr. Schlaumeier
Wohnort: Mecklenburg, zur Entwicklungshilfe in Chemnitz/Sachsen ;-)
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »linuxerr« (15.07.2010, 11:17)
Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von »karlkappe« (15.07.2010, 11:28)
Benutzerinformationen überspringen
Prof. Dr. Schlaumeier
Wohnort: Mecklenburg, zur Entwicklungshilfe in Chemnitz/Sachsen ;-)
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »karlkappe« (15.07.2010, 11:39)
Benutzerinformationen überspringen
Prof. Dr. Schlaumeier
Wohnort: Mecklenburg, zur Entwicklungshilfe in Chemnitz/Sachsen ;-)
Benutzerinformationen überspringen
Prof. Dr. Schlaumeier
Wohnort: Mecklenburg, zur Entwicklungshilfe in Chemnitz/Sachsen ;-)
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »linuxerr« (15.07.2010, 12:35)
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »karlkappe« (15.07.2010, 14:09)
Benutzerinformationen überspringen
Prof. Dr. Schlaumeier
Wohnort: Mecklenburg, zur Entwicklungshilfe in Chemnitz/Sachsen ;-)
Benutzerinformationen überspringen
Prof. Dr. Schlaumeier
Wohnort: Mecklenburg, zur Entwicklungshilfe in Chemnitz/Sachsen ;-)
Benutzerinformationen überspringen
Prof. Dr. Schlaumeier
Wohnort: Mecklenburg, zur Entwicklungshilfe in Chemnitz/Sachsen ;-)
Benutzerinformationen überspringen
Prof. Dr. Schlaumeier
Wohnort: Mecklenburg, zur Entwicklungshilfe in Chemnitz/Sachsen ;-)
Quellcode |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
#!/bin/bash # array, in dem die ausgabezeilen abgelegt werden ZEILEN=() # anzahl der zeilen im header HEADER=4 # jede csv-datei wird nacheinander bearbeitet while read DATEINAME do # berechnung der zeilenzahl nach dem header LINENUMBERS=$( wc -l < ${DATEINAME} ) DATALINES=$(( $LINENUMBERS - $HEADER )) ZEILENNUMMER=0 # die datenzeilen der datei werden einzeln eingelesen while read LINE do # der gelesene wert wird jeweils an das entsprechenden # array ZEILE amit einem tabulator angehaengt LINESTART=${ZEILEN[${ZEILENNUMMER}]} ZEILEN[${ZEILENNUMMER}]="${ZEILEN[${ZEILENNUMMER}]}\t${LINE}" # die zeilennummer wird incrementiert ZEILENNUMMER=$(( $ZEILENNUMMER + 1 )) done < <( tail -${DATALINES} ${DATEINAME} ) done < <( ls *.csv ) #ausgabe mit einem zeilenumbruch am ende for((NR=0;NR<${ZEILENNUMMER};NR++)); do echo "${ZEILEN[${NR}]}" done |
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »linuxerr« (15.07.2010, 17:17)