나는 한동안이 문제를 겪고 있습니다. 이것이 나의 매우 제한된 배관 능력에도 불구하고 효과가 있는 것처럼 보이는 내가 마침내 생각해낸 것입니다.
내 목표를 달성하기에는 이것이 나쁜 방법인 것 같습니다. 이 작업을 보다 효율적으로 수행할 수 있는 더 쉬운 방법이 있습니까?
$ find /home/data/cam*/* -maxdepth 0 -type d -mtime +30 \
-exec du -sm {} \;| awk '{if ( $1 > 3000 ) print $2}' | xargs rm -rf
답변1
실제로 나쁘지 않습니다. 그 /home/data/cam*/* -maxdepth 0
부분이 괜찮고 디렉터리 이름에 개행 문자가 포함되어 있지 않다고 가정하면 다음과 같이 할 것입니다.
find /home/data/cam*/* -maxdepth 0 -type d -mtime +30 -exec du -sm {} + | \
awk '$1 > 3000' | cut -f 2- | xargs rm -rf
-exec du -sm {} +
최적화이므로 du
모든 디렉터리에 대해 실행되지는 않습니다. 그리고 awk '$1 > 3000' | cut -f 2-
디렉터리 이름에 공백이 포함된 경우에도 이것이 작동하는지 확인하세요.