|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Oct 2005
Città: Pisa
Messaggi: 1047
|
[Bash] manipolazione date
sto facendo uno script bash e vorrei sapere come poter manipolare una data.
vediamo se riesco a spiegarmi... prendiamo per esempio la stringa 04/2008, che starebbe ad indicare Aprile 20008. A me serve estrapolare solo il mese nel formato letterale "Aprile" e non numerico 04. avete idee?
__________________
Vendite concluse ottimamente con: Bastian UMTS, Tiscaliniano. --------------------------------------------------------- 1) Macbook Pro Core 2 Duo 2,16Ghz - 2GB di RAM - HD 160GB - Glossy Widescreen - 2°Gen 2) iPhone 3G - 8GB Black 3) Ipod Shuffle Blu 1GB 4) iMac 27" QuadCore i7 |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5707
|
Codice:
data="04/2008"; date -d "01/$data" +%B |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Oct 2005
Città: Pisa
Messaggi: 1047
|
ma cosi non mi da come risultato "aprile"?
ci avevo già pensato a questa soluzione, però a me serve Aprile maiuscolo.... ![]()
__________________
Vendite concluse ottimamente con: Bastian UMTS, Tiscaliniano. --------------------------------------------------------- 1) Macbook Pro Core 2 Duo 2,16Ghz - 2GB di RAM - HD 160GB - Glossy Widescreen - 2°Gen 2) iPhone 3G - 8GB Black 3) Ipod Shuffle Blu 1GB 4) iMac 27" QuadCore i7 |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5707
|
hai ragione è sbagliato.
prova così: Codice:
[alessio@work ~]# data=$(echo "04/2008"|sed -e 's|\([0-9]*\)/\([0-9]*\)|\1/01/\2|'); date -d "$data" +%B April |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Si potrebbe anche fare:
Codice:
MESI=(Gennaio Febbraio Marzo Aprile Maggio Giugno Luglio Agosto Settembre Ottobre Novembre Dicembre) DATA="04/2008" I=$((${DATA:0:2} - 1)) echo "Il mese e': ${MESI[$I]}"
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 21:29.