답변:
형식화 된 시간을로 표현하는 방법 printf
입니다.
형식은 다음과 같습니다.
%(FORMAT)T
어디 FORMAT
의해 정의된다 strftime(3)
.
따라서 신기원 시간 (1970-01-01 00:00:00 UTC 이후의 초 단위 시간)을 얻으려면 다음 strftime(3)
형식이 필요 합니다 %s
.
printf "%(%s)T\n"
참고 또한 필요 \n
로 줄 바꿈을 추가하는 말 printf
(달리 echo
기본적으로 추가되지 않습니다).
예:
$ printf "%(%s)T\n"
1454300377
$ printf "%(%Y-%m-%d)T\n"
2016-02-01
$ printf "%(%Y-%m-%d %H:%M:%S)T\n"
2016-02-01 10:20:27
완벽을 기하기 위해 date
비슷한 strftime(3)
형식으로 명령을 사용 하여 시간을 얻을 수도 있습니다.
$ date '+%s'
1454300542
$ date '+%Y-%m-%d' ## Short form: date -I
2016-02-01
$ date '+%Y-%m-%d %H:%M:%S'
2016-02-01 10:22:47
참고 :이 동작은 bash
및 ksh
의 내장 기능 printf
에만 적용 /usr/bin/printf
되며 csh
, 및 zsh
내장 기능 에서는 작동하지 않습니다 .
printf(1)
맨 페이지 에서 보지 못했습니다 .
printf
는 여기에 내장되어 있습니다 (외부는 동일한 동작을 help printf
printf
은 내장입니까?/usr/bin/printf
Ubuntu 14.04에서 오류가 발생했습니다printf: %(: invalid conversion specification
. 당신이 사용하는 경우bash
.man bash
기본 제공 문서를 사용해보십시오 .