Как отобразить дату следующим образом, используя команду оболочки? - PullRequest
0 голосов
/ 16 февраля 2011
20110216_00

20110216_01

...

20110216_23


20110217_00
..

и т. Д.

Я пробовал с

date +'%Y%m%d_%H'

но он никогда не начинается с формата 00-23, а с формата 01-24, поэтому я всегда получаю неправильную часть часа.

Кто-нибудь может подсказать, как мне подняться выше о / п

Ответы [ 4 ]

0 голосов
/ 27 мая 2016

Вы можете использовать дату -u + '% Y-% m-% d-% H'

0 голосов
/ 16 марта 2011

Вы можете сделать это, управляя частью часа.Проверьте фрагмент ниже.

#/bin/ksh
s=`date +'%Y%m%d_'`
t=` date +'%H'`
let t=$t+1
echo "Required date is " $s$t

Это дает

Required date is  20110316_16
0 голосов
/ 12 сентября 2013

Я пробовал на SunOS 5.10 Это работает!

date +%Y%m%d_%H
-> 20130912_02

date +'%Y%m%d_%H'
-> 20130912_02

Можете ли вы сказать нам, какой Solaris вы используете?

uname -a

Ура!

0 голосов
/ 17 февраля 2011

Какую версию Solaris вы используете? Сейчас примерно 22:30, и я вижу:

mph@sol11express:~$ date +'%Y%m%d_%H'
20110216_22
mph@sol11express:~$ uname -a
SunOS sol11express 5.11 snv_151a i86pc i386 i86pc Solaris
mph@sol11express:~$ echo $SHELL
/bin/bash

, который выглядит для меня, как будто он использует 0-23 часа.

...