bobafett Skrevet 15. september 2008 Del Skrevet 15. september 2008 (endret) Utgangspunktet mitt er en fil som denne: 00:00:00.000,01-Sep-2008,1.000 00:10:00.000,01-Sep-2008,0.980 00:20:00.000,01-Sep-2008,0.950 00:30:00.000,01-Sep-2008,0.910 00:40:00.000,01-Sep-2008,0.870 00:50:00.000,01-Sep-2008,0.830 Programmet denne filen skal leses inn i må datoformat som ser slik ut: 200809010000 -1 200809010010 -0.98 200809010020 -0.95 200809010030 -0.91 200809010040 -0.87 Måten jeg gjør dette på nå, er at jeg åpner den første filen i 'vi' og endrer måneden fra -Sep- til ,09,. Og tilsvarende for andre måneder. Deretter konverterer jeg med følgende awk-linje: awk -F",|:" '{printf "%d%02d%02d%02d%02d %s\n",$6,$5,$4,$1,$2,$7*-1}' Jeg ønsker å kunne konvertere utgangspunktet direkte i et script, uten å måtte gå via 'vi'. Er det noen som har noen tips om hvordan jeg skal gå frem for å få dette til? Endret 17. september 2008 av bobafett Lenke til kommentar
x871kx6167ss7 Skrevet 16. september 2008 Del Skrevet 16. september 2008 date +%m -d "aug 01 01" Kanskje dette kan hjelpe deg? Lenke til kommentar
bobafett Skrevet 17. september 2008 Forfatter Del Skrevet 17. september 2008 Da fant jeg en løsning som virker: cat $1 | sed \-e 's/-Jan-/,01,/' \ -e 's/-Feb-/,02,/' \ -e 's/-Mar-/,03,/' \ -e 's/-Apr-/,04,/' \ -e 's/-May-/,05,/' \ -e 's/-Jun-/,06,/' \ -e 's/-Jul-/,07,/' \ -e 's/-Aug-/,08,/' \ -e 's/-Sep-/,09,/' \ -e 's/-Oct-/,10,/' \ -e 's/-Nov-/,11,/' \ -e 's/-Dec-/,12,/' | \ \ awk -F",|:" '{printf "%d%02d%02d%02d%02d %s\n",$6,$5,$4,$1,$2,$7*-1}' ....enkelt og greit. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå