날짜를 다음 형식으로 표시하기 위해 date 명령에 대한 별칭을 만들었습니다.
2013.06.14.12.10.02
다음 명령을 사용하십시오.
alias date = date +"%Y.%m.%d.%H.%M.%S"
출력에서 선행 0을 제거하려는 것을 제외하고는 모든 것이 정상입니다.
형식을 변경하여 이를 달성할 수 있는 방법은 없습니다. 나는 이것이 출력을 sed
및 와 같은 다른 명령으로 파이프해야만 수행할 수 있다고 생각합니다 awk
.
내가 실행중인 운영 체제는 Ubuntu 12.04.2 LTS입니다.
답변1
GNU date
매뉴얼 페이지에 따르면:
By default, date pads numeric fields with zeroes. The following
optional flags may follow '%':
- (hyphen) do not pad the field
그러므로 당신은 할 수 있습니다
alias date="date '+%Y.%-m.%-d.%-H.%-M.%-S'"
그리고 받았다
2013.6.14.3.19.31
답변2
어리석은 것 같지만 이 질문에는 태그가 지정되어 있으므로 /sed
언급한 대로 sed를 사용하여 이 작업을 수행하는 방법이 있습니다. :)
alias date='date +"%Y.%m.%d.%H.%M.%S" | sed "s/^0*//g; s/\.0*/./g"'
아래 댓글을 주목하세요. 삭제 *
및 첫 번째 sed 표현식의 옵션 삭제 에 대한 g
매우 유효한 요점이 있습니다 . 테스트 없이 위에 쓴 내용을 수정하고 싶지 않고 지금은 시간도 없습니다. 아래 Scott의 의견은 이 답변에 상식을 통합합니다.
답변3
XFCE는 0
앞의 시간을 no로 설정합니다.
%l:%M %p
답변4
를 사용하면 printf
어느 정도 유연성을 얻을 수 있습니다.
예를 들어:
/usr/bin/date "+%b %-2d %-H" | xargs printf "%s %2d %02d"