반응형
구두점 없이 현재 날짜 및 시간 표시
예를 들어 현재 날짜와 시간을 다음과 같은 형식으로 표시합니다.
yyyymmddhhmmss
그걸 어떻게 하는 거죠?대부분의 날짜 형식에는 다음이 포함되어 있는 것 같습니다.-,/,:,기타.
여기 있습니다.
date +%Y%m%d%H%M%S
~하듯이man date위쪽에 이렇게 써있는데요,date명령어는 다음과 같습니다.
date [OPTION]... [+FORMAT]
즉, 포맷 파라미터를 지정할 수 있습니다.+제가 사용한 포맷 기호의 의미를 짐작할 수 있을 것입니다.
%Y연도의%m한 달 동안%d하루의 일수다- ...등등
이 기호 및 기타 형식 지정 기호는 에서 찾을 수 있습니다.man date.
셸 스크립트의 간단한 예
#!/bin/bash
current_date_time="`date +%Y%m%d%H%M%S`";
echo $current_date_time;
구두점 형식 제외:- +%Y%m%d%H%M%S
구두점 포함:- +%Y-%m-%d %H:%M:%S
구두점 없음(@Burusothman이 언급한 바와 같이):
current_date_time="`date +%Y%m%d%H%M%S`";
echo $current_date_time;
O/P:
20170115072120
구두점 포함:
current_date_time="`date "+%Y-%m-%d %H:%M:%S"`";
echo $current_date_time;
O/P:
2017-01-15 07:25:33
Bash 를 사용하고 있는 경우는, 다음의 몇개의 커맨드를 사용할 수도 있습니다.
printf '%(%Y%m%d%H%M%S)T' # prints the current time
printf '%(%Y%m%d%H%M%S)T' -1 # same as above
printf '%(%Y%m%d%H%M%S)T' -2 # prints the time the shell was invoked
옵션을 사용할 수 있습니다.-v varname결과를 저장하다$varnamestdout에 인쇄하는 대신:
printf -v varname '%(%Y%m%d%H%M%S)T'
date 명령어는 항상 하위 셸(즉, 별도의 프로세스)에서 실행되지만 printf는 내장 명령어이므로 속도가 더 빠릅니다.
파라미터 확장을 사용하여 이 작업을 수행하는 흥미로운/재미있는 방법(필요bash 4.4이후) :
${parameter@operator} - P operator확장은 파라미터 값을 프롬프트 문자열처럼 확장한 결과 문자열입니다.
$ show_time() { local format='\D{%Y%m%d%H%M%S}'; echo "${format@P}"; }
$ show_time
20180724003251
언급URL : https://stackoverflow.com/questions/20551566/display-current-date-and-time-without-punctuation
반응형
'codememo' 카테고리의 다른 글
| Excel-Vba에서 사용자 입력을 받지 않도록 콤보박스를 얻는 방법 (0) | 2023.04.23 |
|---|---|
| iOS 테스트/스펙 TDD/BDD 및 통합 및 수용 테스트 (0) | 2023.04.23 |
| Python 3에서 "non local"은 무엇을 합니까? (0) | 2023.04.23 |
| IIS7에서 애플리케이션 풀 아이돌타임아웃을 무효로 하는 방법 (0) | 2023.04.23 |
| scala를 사용하여 zip 파일을 압축 해제하려면 어떻게 해야 합니까? (0) | 2023.04.23 |