문제: 오늘 날짜를 알아내고 이름에 오늘 날짜가 포함된 파일을 검색해야 합니다. 어제 날짜를 포함하는 또 다른 파일이 있습니다. 나는 다음을 통해 이 작업을 수행할 수 있었습니다.
TODAY=$(date +"%m%d%Y")
YESTERDAY=$(date --date="yesterday" +"%m%d%Y")
SNAPSHOT=SnapshotIR${YESTERDAY}\*.csv
for snapshotfile in $SNAPSHOT
do
if [ -f "$snapshotfile" ]
then
SNAPSHOTFOUND="$snapshotfile"
echo Snapshot Report $SNAPSHOTFOUND is available
그런데 여기서 조건이 있는데, 오늘이 월요일이면 지난 금요일 날짜의 파일 하나와 오늘, 어제와 다른 파일 이름에 토요일 날짜가 들어있는 파일을 하나 확인해야 한다는 것입니다.
누구든지 제안할 수 있나요?
답변1
find . -type f -name "*`date +%Y%m%d`*.*"
파일을 반복적으로 찾으려면 f를 입력하여 파일만 찾고, name을 입력하면 패턴과 일치하는 파일만 찾습니다. 역따옴표를 사용하면 인라인 날짜를 추가할 수 있습니다.
date +%u를 사용하면 영업일 수를 얻을 수 있습니다. "1"이면 월요일입니다.
지난 금요일과 토요일의 날짜를 확인하려면 --date를 사용하세요.
date --date="last Friday" +%Y%m%d
date --date="last Saturday" +%Y%m%d