답변:
현재 날짜 시간을 파일 이름으로 사용하려면 date
및 대체 명령을 사용할 수 있습니다 .
$ md5sum /etc/mtab > "$(date +"%Y_%m_%d_%I_%M_%p").log"
이로 인해 2016_04_25_10_30_AM.log
md5 해시를 /etc/mtab
내용으로 하여 파일을 작성합니다 (현재 날짜 시간에도 불구하고) .
12 시간 형식 타임 스탬프를 포함하는 파일 이름은 이름을 기준으로 정렬하지 않을 수도 있습니다. 대신 24 시간 형식 타임 스탬프를 사용하면이 문제를 피할 수 있습니다.
특정 날짜 형식을 사용할 필요가없는 경우 ISO 8601 호환 날짜 / 시간 형식 사용을 고려할 수 있습니다. 유효한 ISO 8601 날짜 / 시간 표현을 생성하는 방법에 대한 몇 가지 예는 다음과 같습니다.
$ date +"%FT%T"
2016-04-25T10:30:00
$ date +"%FT%H%M%S"
2016-04-25T103000
$ date +"%FT%H%M"
2016-04-25T1030
$ date +"%Y%m%dT%H%M"
20160425T1030
"safer"파일 이름을 원하면 (예 : Windows와의 호환성을 위해) 시간 부분에서 콜론을 생략 할 수 있습니다.
위의 예는 모두 로컬 시스템 시간을 가정합니다. 시간대간에 일관성있는 시간대 표시가 필요한 경우 시간대 오프셋 또는 UTC를 지정해야합니다. 다음 date
과 같이 호출 형식 부분에서 "% z"를 사용하여 ISO 8601 호환 표준 시간대 오프셋을 얻을 수 있습니다 .
$ date +"%FT%H%M%z"
2016-04-25T1030-0400
플래그 date
를 지정 -u
하고 날짜 / 시간 문자열 끝에 "Z"를 추가하여 시간이 UTC와 같음을 표시 하면 UTC 시간을 얻을 수 있습니다 .
$ date -u +"%FT%H%MZ"
2016-04-25T1430Z
$(date +%FT%T)
있는 줄 것이다 2016-04-25T10:30:00
.