현재 날짜(및 임의의 부분)에 따라 이름이 달라지는 파일을 어떻게 찾을 수 있나요?

현재 날짜(및 임의의 부분)에 따라 이름이 달라지는 파일을 어떻게 찾을 수 있나요?

매일 특정 경로를 확인해서 다음 형식의 이름을 가진 파일을 찾아야 합니다.

StaticData_Sets_yyyymmdd-232550.txt

문자열 뒤의 이름에 있는 날짜는 StaticData_Sets_시스템 날짜에 따라 매일 업데이트됩니다. 날짜 뒤의 숫자는 무작위입니다.

Unix에서 현재 날짜의 파일을 찾는 방법은 무엇입니까?

답변1

명령을 사용하여 date올바른 출력 형식으로 현재 날짜를 생성하고 다음과 같이 파일 이름에 문자열을 추가합니다.

filename=StaticData_Sets_$(date +"%Y%m%d")
find . -name "$filename*.txt"

답변2

find명령은 오늘 날짜의 파일을 찾아야 합니다.

find /path/ -regex ".*\/StaticData_Sets_$(date +%Y%m%d)-[0-9]+\.txt"

/StaticData_Sets_가 포함된 모든 항목을 찾은 다음 원하는 형식의 날짜, 숫자( )를 찾습니다 [0-9]+.

답변3

파일이 지정된 경로(추가 하위 디렉터리 없음) 바로 아래에 있으면 이 방법이 작동합니다.

file=$path/StaticData_Sets_$(date +"%Y%m%d")-*.txt

그렇다면 이것이 작동할 것입니다( globstarbash에서 수동으로 활성화해야 할 수도 있습니다).

    file=$path/**/StaticData_Sets_$(date +"%Y%m%d")-*.txt

관련 정보