파일을 미래 타임스탬프로 터치하세요.

파일을 미래 타임스탬프로 터치하세요.

다음 명령을 사용하여 30분 전에 파일을 생성했습니다.

TZ=ZZZ0 touch -t "$(TZ=ZZZ0:30 date +%Y%m%d%H%M.%S)" $HOME/reference

마찬가지로 30분 후의 파일을 어떻게 생성합니까?

예: 오후 5시 오후 5시 30분에 파일을 터치하고 싶습니다.

답변1

빼기 기호를 추가하면 됩니다.

TZ=ZZZ0 touch -t "$(TZ=ZZZ-0:30 date +%Y%m%d%H%M.%S)" $HOME/reference

또는 시간대 트릭을 뒤집으십시오.

TZ=ZZZ0:30 touch -t "$(TZ=ZZZ0 date +%Y%m%d%H%M.%S)" $HOME/reference

시간대 오프셋 이상을 수행해야 하는 경우 표준 셸 유틸리티에는 날짜를 조작하는 방법이 부족한 것으로 악명이 높습니다. 많은 사람들이 Bourne 쉘에서 날짜 계산을 구현하는 작업을 수행했으므로 한 가지 옵션은 그 중 하나를 다운로드하는 것입니다(여기에 몇 가지가 나열되어 있습니다).Unix 쉘 스크립트의 날짜 연산). 또 다른 옵션은 설치하는 것입니다GNU 핵심 도구, 특히 그date주문하다이를 통해 조판할 수 있습니다.다음과 같은 날짜now + 30 minutes. Perl과 같은 보다 정교한 스크립팅 환경을 설치하고 날짜 조작 라이브러리를 사용할 수도 있습니다.

답변2

다음 명령을 사용하십시오.

touch -t "$( printf '%(%Y%m%d%H%M.%S)T\n' 'now +30 minutes' )" file

를 사용하면 -t날짜 touch를 지정할 수 있습니다. 또한 printf를 사용하여 ksh날짜 형식을 지정할 수도 있습니다 . 사용하려면 %(date-format)T매뉴얼 페이지를 참조하십시오 ksh.

답변3

touch이 문제에 직면한 GNU 순례자들을 위해:

-d매개변수를 사용할 수도 있습니다 touch.

touch -d "now +30 minutes" $HOME/reference

관련 정보