누락된 파일이 있는지 여러 디렉토리를 검색하고 싶습니다. 디렉터리와 파일의 형식은 YYYY/MM/file_name_YYYYMMDD.csv입니다. 그래서 제가 하고 싶은 일은 다음과 같습니다.
for date in `list_of_dates.txt`
do
if [! -f /YYYY/MM/file_name_YYYYMMDD.csv]
echo $date
fi
각 반복이 올바른 디렉터리에서 올바른 파일을 찾도록 하려면 어떻게 해야 할지 모르겠습니다. Bash 스크립트에서 이를 수행할 수 있는 방법이 있습니까?
답변1
for dir in ????/??; do
year=${dir:0:4}
month=${dir:5}
days=$(cal "$month" "$year" | awk 'NF {DAYS = $NF}; END {print DAYS}')
for date in seq 1 "$days"; do
filename="file_name_${year}${month}${date}.csv"
if [[ ! -f /"$year"/"$month"/"$filename" ]]; then
echo "$filename is missing."
fi
done
done