date formátum

Fórumok

Már megint nem tudom hova írjam :( Ha nagyon lame akkor bocs.
Szigorúan consol parancs.
Már többször sikerült eltolnom a kézi dátum/idő beállítást - az alap ugyebár MMDDHHMM[[CC]YY] - és még valami, tán mikrosecundumok?
Szóval, nem tudná megsugni valaki, hogy lehet ezt a default dátum/idő stringet valami emberibben megadni?
Mondjuk:
#date 2208.05.09 18:30

Hozzászólások

Esetleg írni rá egy scriptet. Sajna kész megoldással nem tudok szolgálni, mert még csak most kezdek ismerkedni a bash-howto-kkal, de egy elvet felvázolhatok.

#!/bin/bash
$d=%1
$datum=$d[6,2]+$d[9,2]+$d[12,2]+$d[14,2] - esetleg még +d$[1,4] az évszámnak
date $datum

Szóval szétdarabolom az értelmezhető formátumot és ujra összerakom a date számára megfelelő formátumra. Sajnos a szintaktika még kamu, de az elv hátha lejön belőle. Abból indultam ki, hogy a stringek poziciói 1-től indulnak (a valóságban meg tutira 0-tól, tehát a kezdőpozicíókat csökkenteni kell 1-el). És tuti hogy akad rá frappánsabb megoldás is, de még a grep, sed stb.-ről is csak annyit tudok, hogy vannak. És még azt sem tudom, hogy ilyen jellegű stringszabdalást lehet-e illetve hogyan...

Ezt a scriptet elmenteni pld. datum néven, és akkor a

datum "2008.10.15 22:33"

elvileg beállítja a 2008.10.15-ét, 22:33 időre. Ezt utána lehetne finomítani is, hogy pld nincs megadva óra csak nap stb. Az idézőjelet sem tudom még, hogy kell-e, vagy 2 paramétert adunk át, az első a nap, a második az óra és ennek megfelelően szabdaljuk a stringet. Bár ha jól láttam, akkor a date -nek mindenképpen meg kell adni óra percet is, ugye?

Na hosszas szenvedés után megvan a szintaktika... hát nemtudom... Versenyez életem legelb@xottabb megoldásai címért a php-s stringösszeadási szintaktikával, bár szerintem ez hajazza. (De nem ez lesz a befutó, mert amiket itt néha olvasok kezdőként.... a hozzászóló neve még megy, de utána :D )


#!bin/bash
date ${1: 5: 2}${1: -2}${2: 0: 2}${2: -2}${1: 0: 4}

Ha ezt elmented pld. datum néven, futtathatóvá (és elérhetővé) teszed, akkor egy

./datum 2008.05.12 22:32

azt csinálja amit szeretnél. Persze nincs benne semmi biztonsági vizsgálat, ha rossz adatot adsz meg, akkor hibaüzenet.

OFF:
Az tökre tetszett, hogy a bash howto-k olvasása semmire sem volt jó, egy totál más témakörben olvasva találtam egy véletlen utalást arra, hogy talán hogyan is lehet megoldani a szabdalást. Persze a logikát magamtól kellett kisakkozni, egy darabig értetlenkedtem is rendesen :) Mostmár érthető nagyjából. A linux világban szerintem a legnagyobb gond egy kezdő számára a kérdezés, mert guglival befürödtem pld. ebben a kérdésben.

date -s "10 May 2008 23:05:00"

Én is épp most csesztem el. :)