
나는 이것을하고 싶다 :
ls -altrhS 'find / -type d \( ! -name tmp -prune \) -size +10000k 2> /dev/null -print' | egrep -v 'ibd|MYD|MYI'
그래서 특정 크기(tmp 디렉터리 제외)의 파일을 이 형식으로 나열하고 싶습니다. 내가 읽은 모든 내용에는 완료되어야 한다고 나와 있지만 작동하지 않으며 임시 디렉토리의 내용도 계속 가져옵니다.
답변1
이 시도:
find / -not -path "*/tmp/*" -size +10000k -ls 2> /dev/null | \
sort -n -k7 | egrep -v 'ibd|MYD|MYI'
설명하다:
find / -not -path "*/tmp/*" -size +10000k -ls
/tmp/
: 경로가 10000k보다 큰 경로로 시작하지 않는 모든 항목을 찾아 출력을find
자체 형식으로 인쇄합니다.ls -dils
sort -n -k7
: 귀하의 질문에서 언급했듯이ls -altrhS
출력을 파일 크기별로 오름차순으로 정렬하고 싶다고 가정합니다. 필드 7 의 출력은 파일 크기ls -dils
입니다 .find
egrep -v 'ibd|MYD|MYI'
egrep
그리고 이러한 문자열을 필터링하는 귀하의 부분
편집하다:
사람이 읽을 수 있는 파일 크기 형식을 원하는 경우 ls
다음 명령을 사용하십시오.
find / -type f -not -path "*/tmp/*" -size +10000k -printf "%s %p\n" 2> /dev/null | sort -n -k1 | cut -d' ' -f2- | xargs -L 1 ls -lh