gnu find를 사용하면 이것이 당신이 원하는 것이라고 생각합니다. 디렉터리 (-type f)가 아닌 모든 실제 파일을 찾고 각각에 대해 파일 이름 (% p), 탭 (\ t), 킬로바이트 (% k) 크기, 접미사 "KB"를 인쇄 한 다음 개행 (\ n).
find . -type f -printf '%p\t%k KB\n'
printf 명령이 원하는 방식으로 형식을 지정하지 않으면 exec를 사용하고 각 파일에서 실행할 명령을 사용할 수 있습니다. 파일 이름으로 {}를 사용하고 세미콜론 (;)으로 명령을 종료합니다. 대부분의 셸에서 이러한 세 문자는 모두 백 슬래시로 이스케이프되어야합니다.
다음은 "ls -lh"를 사용하여 파일을 찾아 인쇄하는 간단한 솔루션입니다. 이것은 사람이 읽을 수있는 형식 (킬로바이트의 경우 k, 메가 바이트의 경우 M)으로 크기를 표시합니다.
find . -type f -exec ls -lh \{\} \;
또 다른 대안으로 "wc -c"는 파일에있는 문자 수 (바이트)를 인쇄합니다.
find . -type f -exec wc -c \{\} \;
find . -name '*.ear' -exec ls -lh {} + \;(GNU 확장자) 또는find . -name '*.ear' -print0 | xargs -0 ls -lh. 또한-type f파일에만 관심이있는 경우 추가 할 수 있습니다 (또는-d내용없이 디렉토리 자체를 포함하려면 ls에 추가 ).