파일 이름에 타임스탬프가 있는지 확인하세요.

파일 이름에 타임스탬프가 있는지 확인하세요.

파일 이름에 타임스탬프가 있는지 확인하려면 쉘 스크립트가 필요합니다. 그렇다면 다음 단계로 진행해야 하며, 그렇지 않으면 파일 이름에 타임스탬프를 추가해야 합니다.

답변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}$

( $라인 일치의 끝을 참고하세요)

관련 정보