다음 명령을 사용하여 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