openSUSEa suomeksi

openSUSE => Palvelinohjelmat ja ohjelmointi => Aiheen aloitti: tjka - 26.01.2012 - klo:17:28

Otsikko: Pieni scripti ongelma [ratkaistu]
Kirjoitti: tjka - 26.01.2012 - klo:17:28
Alustana  SLES11 SP1, eli samaa koodia kuin openSuSE.

#!/bin/bash
VAR=`date --date="2 days ago" | cut -c 4-12`
echo $VAR > x.txt

Miksi manuaalisesti root tunnuksilla ajettuna x.txt tiedostoon tulee "24.1.2012" mutta crontabin kautta ajastettuna "Jan 24 1"??
Mitä tuohon scriptiin pitää laittaa että saan päivämäärän oikeaan muotoon, eli pelkillä numeroilla?
Tuo on osa scriptiä joka SED komennon avulla siivoaa eräänlaisesta lokitiedostosta rivit jossa tuo pvm, eli ei tällä hetkellä toimi ajastettuna... :-(

-tjka-
Otsikko: Vs: Pieni scripti ongelma
Kirjoitti: jmp - 26.01.2012 - klo:18:04
#!/bin/bash                                                                                                                                                                                               
LANG=C                                                                                                                                                                                                     
VAR=`date --date="2 days ago" | cut -c 4-12`                                                                                                                                                               
echo $VAR > x.txt
Otsikko: Vs: Pieni scripti ongelma
Kirjoitti: tjka - 26.01.2012 - klo:19:41
Nyt molemmat tavat antavat päivämäärän muodossa "Jan 24 1"...  :(

-tjka-
Otsikko: Vs: Pieni scripti ongelma
Kirjoitti: hro - 26.01.2012 - klo:21:09
Lisää date komentoon formatointi esim +%F tai +%d.%m.%Y
Otsikko: Vs: Pieni scripti ongelma
Kirjoitti: SuperOscar - 26.01.2012 - klo:23:36
Jos LANG=C kerran toimii (vaikkei tavalla, jolla haluat), niin eiköhän LANG=fi_FI.UTF-8 anna haluamasi lopputuloksen?

Muoks: Jaahas, järjestelmästä toiseen pisteenjälkeinen osuus näyttääkin voivan vaihdella. Debianissa se on ”utf8”, pienillä kirjaimilla. Tarkista oman järjestelmäsi käyttämä muoto.
Otsikko: Vs: Pieni scripti ongelma
Kirjoitti: harmie - 27.01.2012 - klo:09:25
date --date="2 days ago" +%d.%m.%y
Otsikko: Vs: Pieni scripti ongelma
Kirjoitti: tjka - 31.01.2012 - klo:23:28
Toimii kun VAR=`date --date="2 days ago" +%d.%-m.%Y`   :)
Silloin myöskään LANG määritystä ei tarvita.

-m (month without leading zero)
Y (year with four digits)

Thanx!


-tjka-