std*
보다 큰 것을 찾으려면 다음 찾기 구문을 사용합니다 1000M
.
find /data -type f \( -name "stdout" -o -name "stderr" \) -size +1000M -print
30G
때때로 우리는 크기 가 같거나 더 긴 시간이 걸리는 폴더의 파일을 검색합니다 30min
.
이 find 명령은 bash 스크립트의 일부이므로 검색을 더 빠르게 할 수 있는지 궁금합니다.
답변1
find /data -type f \( -name "stdout" -o -name "stderr" \) -size +1000M -print
아마도 일반적인 쉘 스크립팅 도구를 사용하여 얻을 수 있는 가장 빠른 속도에 매우 가깝습니다. 개별 파일의 크기는 콘텐츠와 별도로 기록되므로 중요하지 않습니다. 즉, find
실제로는 그렇지 않다.계산파일이 충분히 큰지 확인하기 위한 각 파일의 바이트 수입니다. 이 명령의 병목 현상은 아래와 같은 파일 수일 가능성이 높습니다.@Kusalananda가 언급됨, 또는 스크립트의 다른 부분.
소스 코드 공개가 허용되면 물어보는 것이 좋습니다.코드 검토 스택 교환.