파일 이름에 타임스탬프가 있는지 확인하려면 쉘 스크립트가 필요합니다. 그렇다면 다음 단계로 진행해야 하며, 그렇지 않으면 파일 이름에 타임스탬프를 추가해야 합니다.
답변1
#!/bin/bash
a="afile.txt"
sometimestamp="$(date +%Y-%m-%d)"
if [[ $a =~ *"${sometimestamp}"* ]]; then
echo "Do something";
else
mv "$a" "${a}.${sometimestamp}";
fi
sometimestamp="$(date ....)"
스크립트의 타임스탬프를 원하는 타임스탬프로 변경할 수 있습니다.
답변2
a의 구조는 2018-02-01
다음 정규식으로 제공됩니다.
[0-9]{4}-[0-9]{2}-[0-9]{2}
정규식 일치에서 이것을 사용하면 파일 이름이 일치하는지 알려줍니다.
#!/bin/bash
f=filetotest.txt
regex='[0-9]{4}-[0-9]{2}-[0-9]{2}'
if [[ $f =~ $regex ]]; then
echo "File $f has a timestamp"
else
mv -i "$f" "$f$(date +%Y-%m-%d)"
fi
타임스탬프가 파일 이름 끝에 있어야 하는 경우 대신 다음 정규식을 사용하세요.
[0-9]{4}-[0-9]{2}-[0-9]{2}$
( $
라인 일치의 끝을 참고하세요)