파일 이름에 언급된 날짜를 기준으로 여러 파일의 마지막 수정 날짜를 변경합니다.
파일은
04-01-1981 XXXXXYYYYZZZZ.xml
19-11-1982 XXXXXYYYYZZZZ.xml
25-12-1981 XXXXXYYYYZZZZ.xml
필요한 이유: 각 파일이 게시할 기사인 일부 기사를 마이그레이션하고 있습니다. 그리고 이미 사용 가능한 사용자 정의 가져오기 유틸리티는 파일의 마지막 수정 날짜를 기사 게시 날짜로 사용합니다. 이것이 도움이 되기를 바라며 그 이유를 명확히 해주세요.
답변1
POSIX적으로:
for file in ??-??-????' '*.xml; do
date=${file%% *}
year=${date##*-}
day=${date%%-*}
month=${date%-*}
month=${month#*-}
touch -d "$year-$month-$day 00:00:00" -- "$file"
done
를 사용하면 zsh
다음과 같이 단축할 수 있습니다.
for f (??-??-????' '*.xml(N))
touch -d "$f[7,10]-$f[4,5]-$f[1,2] 00:00:00" -- $f