X 값보다 큰 파일 찾기, 크기별로 정렬, ls 형식으로 표시

X 값보다 큰 파일 찾기, 크기별로 정렬, ls 형식으로 표시

내 임무는 주어진 특정 디렉토리에서 파일을 찾고, 100MB가 넘는 파일만 표시하고, 크기별로 정렬하고, ls -lh 형식으로 인쇄하는 것입니다.

이것이 내가 실행한 것입니다:

find /home/it21366 -size +10M | sort -h | ls -lh

이게 내가 얻은 거야

-rwxr-xr-x+ 1 it21366 unixusers  12K Απρ  28  2014 a.out
-rwxr-xr-x+ 1 it21366 unixusers  471 Νοέ  29 10:51 askisi.sh
-rw-r--r--+ 1 it21366 unixusers 3,0K Απρ  28  2014 code.c
-rw-r--r--+ 1 it21366 unixusers 3,0K Απρ  28  2014 code.c~
-rw-r--r--+ 1 it21366 unixusers 6,2K Απρ  28  2014 CODE.txt
-rw-------+ 1 it21366 unixusers 2,0M Απρ  28  2014 core
-rwxr-xr-x+ 1 it21366 unixusers   66 Δεκ   6 14:39 it21366_ex_1_1
-rwxr-xr-x+ 1 it21366 unixusers  190 Δεκ   6 14:35 it21366_ex_1_4.sh
-rwxr-xr-x+ 1 it21366 unixusers  190 Δεκ   6 14:27 it21366_ex_1_4.sh~
-rwxr-xr-x+ 1 it21366 unixusers  546 Δεκ   5 17:46 it21366_ex_1_5
-rw-r--r--+ 1 it21366 unixusers 509K Οκτ  23  2014 java01.pdf
-rw-r--r--+ 1 it21366 unixusers 506K Οκτ  23  2014 java02.pdf
-rw-r--r--+ 1 it21366 unixusers 249K Οκτ  11 10:03 lab01_2018-19.pdf
-rw-r--r--+ 1 it21366 unixusers 1,2K Οκτ  24 16:27 MyClock.java
-rw-r--r--+ 1 it21366 unixusers 1,3K Οκτ  30  2013 starthere.desktop
-rw-r--r--+ 1 it21366 unixusers    3 Οκτ  24 12:45 test
-rw-r--r--+ 1 it21366 unixusers   12 Οκτ  24 12:45 TK.txt
-rw-r--r--+ 1 it21366 unixusers  14K Μάι  30  2018 Untitled 1.odt

LS가 왜 다른 방법을 무시하고 정렬되지 않고 필터링되지 않은 파일 내용만 표시하는지 상상할 수 없습니다.

답변1

xargs를 사용하십시오:

find /home/it21366 -size +10M | xargs ls -lhsSr 

답변2

또 다른 옵션은 파일 수가 한 번의 (긴) 호출에 들어갈 만큼 제한되어 있는 경우 큰 파일을 찾아서 다음과 같이 정렬하는 ls것입니다 .findls -S

find /home/it21366 -type f -size +10M -exec ls -lS {} + 2>/dev/null

"발견된" 파일을 가능한 한 많은 일치 항목 에 대한 호출로 바꾸도록 -exec ... {} +지시 합니다 . 파일이 너무 많으면 여러 번 호출을 받게 되어 결과가 정렬되지 않은 상태가 됩니다(그룹별로 정렬됩니다). 또한 일치 항목을 일반 파일로 제한하는 기능 도 추가했습니다 .findlsls-type f

관련 정보