반달가면 이글루에서 백업 - http://bahndal.egloos.com/570933
기준시각(epoch, 1970.1.1 00:00:00 UTC)으로부터 몇초가 경과했는지로 표시되는 타임스탬프(timestamp)를 다루어야 할 때가 있는데, date 명령을 이용하면 간편하게 일반적인 표시 형식으로 변환할 수 있다. 아래의 예시를 보자.
# 타임스탬프 1451885975초를 연월일시분초로 변환
date -d @141913415 "+%Y.%m.%d %H:%M:%S"
2016.01.04 22:16:55
현재 시점이 아니라 특정 시점을 지정하기 위해 -d 옵션을 이용하는데, 타임스탬프 값 앞에 '@' 기호를 추가해야 된다는 점에 유의하자.
반대의 경우도 가능하나, 형식에 있어서는 다소 제한이 따른다. 예를 들어 2016.01.04는 인식되지 않으나 20160104는 된다.
# 연월일시분초를 타임스탬프로 변환
date -d "20160104 14:39:35" "+%s"
1451885975
date -d "Jan 4 2016 14:39:35" "+$s"
1451885975
728x90
'bash script' 카테고리의 다른 글
[bash: expr] 특정 위치에서 특정 길이만큼 문자열 추출 (0) | 2023.06.30 |
---|---|
[bash: awk] 특정 위치(field)에 대한 문자열 검색 (0) | 2023.06.29 |
[bash: if, case] 문자열 비교 조건에 정규표현식 사용 (0) | 2023.06.28 |
[bash: expect] 다중 사용자 환경에서 보안을 강화한 작업 자동화 (0) | 2023.06.20 |
[bash: expect] 리눅스 다중 사용자(multi-user) 환경에서의 작업 자동화 문제 (0) | 2023.06.20 |