PDA

View Full Version : [Bash] manipolazione date


noodles83
23-04-2008, 17:23
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?

kingv
23-04-2008, 17:55
data="04/2008"; date -d "01/$data" +%B

noodles83
23-04-2008, 18:18
ma cosi non mi da come risultato "aprile"?

ci avevo già pensato a questa soluzione, però a me serve Aprile maiuscolo.... :confused:

kingv
23-04-2008, 18:33
hai ragione è sbagliato.

prova così:

[alessio@work ~]# data=$(echo "04/2008"|sed -e 's|\([0-9]*\)/\([0-9]*\)|\1/01/\2|'); date -d "$data" +%B
April

andbin
23-04-2008, 20:10
Si potrebbe anche fare:

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]}"