Fish Shell:
Päivämäärän jäsennys merkkijonosta
Kuinka:
Fish Shellissä ei ole sisäänrakennettuja komentoja erityisesti merkkijonoista päivämäärien jäsentämiseksi suunniteltuina. Sen sijaan tukeudutaan ulkoisiin työkaluihin, kuten date
(saatavilla Linuxissa ja macOS:ssa) tai hyödynnetään suosittuja kolmannen osapuolen työkaluja, kuten GNU date
monimutkaisempiin jäsentämisiin. Näin se tehdään:
Käyttäen date
Fishissä:
Jäsentääksesi päivämäärämerkkijonon muodossa “VVVV-KK-PP”, voit käyttää date
-komentoa -d
(tai --date
GNU datelle) valitsimen kanssa seurattuna merkkijonosta. +
-valitsinta käytetään tulosteen muotoiluun.
set date_str "2023-04-01"
date -d $date_str +"%A, %d %B %Y"
# Tuloste: Lauantai, 01 Huhtikuu 2023
macOS:lle (joka vaatii erilaisen muodon -j
ja -f
lipuille):
set date_str "2023-04-01"
date -j -f "%Y-%m-%d" $date_str +"%A, %d %B %Y"
# Tuloste: Lauantai, 01 Huhtikuu 2023
Käyttäen GNU date
monimutkaiseen jäsentämiseen:
GNU date
on joustavampi merkkijonojen muotojen kanssa. Se voi automaattisesti tunnistaa monia yleisiä päivämäärämerkkijonojen muotoja ilman, että syöttömuotoa tarvitsee nimenomaisesti määrittää:
set complex_date_str "Huhtikuu 1, 2023 14:00"
date -d "$complex_date_str" '+%Y-%m-%d %H:%M:%S'
# Tuloste: 2023-04-01 14:00:00
Kuitenkin, kun työskennellään päivämäärämerkkijonojen kanssa, joita ei voida automaattisesti tunnistaa tai kun tarkan kontrollin syöttömuodosta tarvitaan, GNU date
n syöttömuodon määrittely ei ole suoraan tuettua. Tällaisissa tapauksissa harkitse merkkijonon esikäsittelyä tai toisen työkalun käyttöä, joka on suunniteltu monimutkaisempiin päivämääräjäsentämisen rutiineihin.