크기가 1024 바이트 미만이고 이름이 * zip으로 끝나는 모든 파일을 나열하십시오.


0

제목에서 알 수 있듯이이 명령을 파이핑하는 방법은 무엇입니까? 나는 각각을 개별적으로 수행하는 방법을 알고 있지만 그것들을 하나의 명령으로 결합하는 방법에 대한 실마리는 없습니다.

find . -type f -size -1024c -ls | ls -l *zip

zip으로 끝나는 모든 파일을 제공하지만 일부는 1024 바이트보다 큽니다.


1
어떻게 각각 따로 하시겠습니까?
Kamil Maciorowski

단지 보여 내 게시물을 편집
드류

find매뉴얼 페이지에서 -name운영자 를 찾으십시오 .
G-Man

그래서 다른 find로 파이프하거나 첫 번째 명령으로 -name을 사용합니까?
Drew

1
@Drew 후자 : find . -type f -name '*.zip' -size -1024c -ls. "found"파일에서 명령을 실행하려면의 -exec옵션을 참조하십시오 find. 더 복잡한 경우는 출력 이름을 파이핑하여 처리합니다 xargs {command}(이 경우 -print0찾기 및 -0옵션 옵션 xargs이 권장 됨).
xenoid

답변:


1

-name옵션을 사용하십시오find

find . -type f -name '*zip' -size -1024c -ls

일반적으로 패턴을 인용하여 쉘이 아닌 'find'로 해석되도록하는 것이 좋습니다 (그렇지 않으면 현재 디렉토리 인 경우 .zip이있는 경우 쉘이 해당 이름으로 패턴을 대체 함).

"found"파일에서 명령을 실행하려면 -execfind 옵션을 참조하십시오 . 더 복잡한 경우는 출력 이름을 파이핑하여 처리합니다 xargs {command}(이 경우 -print0찾기 및 -0옵션 옵션 xargs이 권장 됨).


1

주석에서 언급 한 G-Man : use -name:

find . -type f -size -1024c -name '*zip' -ls
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.