목록에서 지난 6월의 파일을 제거하는 방법

목록에서 지난 6월의 파일을 제거하는 방법

지난 6월의 파일을 목록에서 제거하는 방법

#!/bin/bash
echo "hi"
path="/home/alert/VideoApplicationAPI.v1/logs"
dayDiff=365

DATE=`date +%Y-%m-%d`
for filename in $path/*.*; do
    modDate=$(stat -c %y "$filename") 
    modDate=${modDate%% *} 
    echo $filename:$modDate
    echo "( `date -d $DATE +%s` - `date -d $modDate +%s`) / (24*3600)" | bc -l
done
echo $DATE

답변1

touch -d '2018-06-01 00:00:00' START
touch -d '2018-07-01 00:00:00' END
find <path of files to be deleted> -type f -newer START -not -newer END -exec rm {} \;

시작 및 종료는 날짜 범위를 제공합니다. 그게 2018년 6월이었어요. 먼저 find 명령을 실행하여 얻은 모든 파일이 무엇인지 확인할 수 있습니다. 파일이 올바르면 위의 명령을 실행하세요. 실행 중 문제가 발생할 경우를 대비해 모든 파일을 백업해 두시기 바랍니다.

관련 정보