[unix] 날짜 출력에서 ​​선행 0 제거

date 명령의 별칭을 만들어 다음 형식으로 날짜를 표시했습니다.

2013.06.14.12.10.02

이 명령을 사용하여 :

alias date = date +"%Y.%m.%d.%H.%M.%S"

출력에서 선행 0을 제거하려는 것을 제외하고는 모든 것이 잘 작동합니다.

형식을 변경하여이를 수행 할 수있는 방법이 없습니다. 나는 출력을 sedand와 같은 다른 명령으로 파이프로만 연결하여 수행 할 수 있다고 생각합니다 awk.

내가 실행중인 OS는 Ubuntu 12.04.2 LTS입니다.



답변

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


답변

어리석은 느낌이지만이 질문에 태그가 지정되어 /sed있으므로 sed 로이 작업을 수행하는 방법이 있습니다.

alias date='date +"%Y.%m.%d.%H.%M.%S" | sed "s/^0*//g; s/\.0*/./g"'


답변