laroys Skrevet 20. april 2005 Skrevet 20. april 2005 (endret) Hei, har en liten utfordring her: Jeg har en tekst-fil med time-stamps på formen: "Dec 27 08:57:03" (som i messages) Ved bruk av 'sed'-kommandoen(eller andre passende måter) ønsker jeg å få disse time-stampene omgjort til unix-time for lettere å sammenligne dem Først lager jeg ett pattern som treffer time-stampen, og deretter tenkte jeg å bruke "date -d 'datoen' +%s" for å lage unix-time'en Et forslag som ikke fungerer: sed 's/[[:alpha:]]\{3\}[[:blank:]][[:digit:]]\{2\}[[:blank:]][[:graph:]]\{8\} /`date -d & +%s`/' $tmp_file Så det egentlige problemet er at jeg ikke får til å utføre date-kommandoen inni sed. Mulig dette ikke er mulig - da får jeg heller finne en annen måte å gjøre det på. Har dere noen forslag? Endret 20. april 2005 av laroys
laroys Skrevet 20. april 2005 Forfatter Skrevet 20. april 2005 Muligens en god ide! Opprettet en ny tråd i Linux/Unix-programmering eventuelle svar passer nok bedre der!
Torbjørn Skrevet 20. april 2005 Skrevet 20. april 2005 $ echo "Dec 27 08:57:03" | perl -MDate::Parse -nle 'print str2time $_' 1104134223 $
Torbjørn Skrevet 20. april 2005 Skrevet 20. april 2005 merk at den antok år 2004 på mitt system, en enkel modifikasjon gjør den om til 2005: $ echo "Dec 27 08:57:03" | perl -MDate::Parse -nle 'print str2time $_ . " 2005"' 1135670223 $
laroys Skrevet 20. april 2005 Forfatter Skrevet 20. april 2005 Hei, takk for svar! Dette løste egentlig ikke problemet mitt, mulig det er litt dårlig forklart. Det jeg egentlig ønsker er å kunne utføre kommandoer inni sed-kommandoen for å kunne erstatte time-stamp'en med unix-time. Jeg klarer å produsere unix-timen, men ikke å kombinere dette med 'sed' Håper det var forståelig...
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å