Joskus törmään tilanteisiin, joissa olen tekemisissä Unix epoch-aikaleimojen kanssa, ja ne ovat kovin vaikealukuisia tavalliselle ihmiselle. Aikaleimat voi poimia esim. CSV-tiedostosta LibreOffice Calcilla omaksi listakseen ja allaolevaa Linux shell scriptiä hyödyntäen muuntaa kerralla automaattisesti tavallisiksi, ihmisen luettaviksi aikaleimoiksi, jotka voi sitten esimerkiksi siirtää alkuperäisten tilalle LibreOffice Calcilla.
#!/usr/bin/env bash # # Tämä on Linux shell script nimeltään epoch.sh, joka muuntaa nk. Unix # epoch-aikaleimat muotoon YYYY_MM_DD_hh_mm, eli vuosi, kuukausi, # päivä, tunti ja minuutti, välissä erottimena alaviivat. # # Käyttöohje: # # Luo tyhjä kansio ja tee sinne tiedosto.txt -niminen tekstitiedosto, # joka sisältää Unix epoch-aikaleimat omilla riveillään sellaisenaan # (vain numeroita ja pisteitä, ei lainausmerkkejä tai muita # ylimääräisiä merkkejä). Laita tämä skripti samaan kansioon tuon # tiedosto.txt:n kanssa ja aja tämä skripti. Jokaisen aikaleiman tulee # olla omalla rivillään. Alkuperäisen tiedoston aikaleimat muunnetaan, # mutta alkuperäisestäkin tiedostosta luodaan ensin samaan kansioon # tiedosto_epoch_bak.txt -niminen varmuuskopio. # # - Toti 21.1.2026 # echo echo "Vaihe 1/3" echo "Luodaan varmuuskopio tiedostosta" echo cp tiedosto.txt tiedosto_epoch_bak.txt echo echo "Vaihe 2/3" echo "Luetaan tiedoston sisältö" echo sisalto=$(cat tiedosto.txt) echo echo "Vaihe 3/3" echo "Muunnetaan Unix epoch-ajat perusaikaformaattiin" echo while IFS= read -r rivi; do normiaika=$(date -d "@$rivi" "+%Y"_"%m"_"%d"_"%H"_"%M") echo "$normiaika" >> valiaikainen1.txt done <<< "$sisalto" rm tiedosto.txt mv valiaikainen1.txt tiedosto.txt echo echo "Valmista!" echo