
다음 스크립트는 단일 폴더에서 작동하지만 모든 하위 디렉터리를 반복하고 싶습니다.
ls /home/user/Desktop/cron_database_hourly/*/*_[012][0-9]*.zip | head -n -1 | \
while read -r f; do rm "$f"; done
답변1
아마도 (테스트되지 않은) 다음과 같은 것으로 벗어날 수 있습니다.
for each in `find -type d /home/usr/Desktop/cron_database/hourly`
do
ls -t $each/_[012][0-9]*.zip | head -n -1 | \ while read -r f;
do
rm "$f"
done
done
"for Each" 루프는 모든 디렉토리 목록을 찾고, ls에 "-t"를 추가하면 가장 최근 항목부터 날짜 순서로 정렬됩니다.