비어있는 것처럼 보이지만 그렇지 않은 파일을 포함하여 특정 디렉토리에서 모든 빈 파일과 폴더를 찾는 방법은 무엇입니까?

사용자 364819

~/list폴더에 각각 자체 하위 폴더와 하위 하위 폴더 등이있는 많은 양의 폴더가 있고 거의 각 수준에 많은 파일이 있다고 가정 해 보겠습니다 . 그러나 이러한 파일과 폴더 중 일부는 비어 있는데, 빈 파일과 폴더를 찾기 위해 이들을 모두 재귀 적으로 검색하려면 어떻게해야합니까? 그런 다음 파일 위치 목록에 표시하여 각각의 위치를 ​​알 수 있도록합니다 (모든 파일에 파일 확장자가 없기 때문에 파일과 폴더가 명확해야합니다). 그놈 3.18과 함께 Ubuntu GNOME 15.10을 실행하고 있습니다.

주의 사항 파일이 비어 보였지만, (그것 또는 무언가에 공백이나 줄 바꿈이 있다면 예를 들어)가 아니었다면 그것은 또한 말해한다면 그것은 또한 매우 유용 할 것이다. 그리고 실제 빈 파일과 출력에서 ​​비어있는 파일을 구별 합니다.

스틸 드라이버

에서 man find

    -empty File is empty and is either a regular file or a directory.

따라서 빈 파일과 디렉토리를 모두 찾으려면 다음을 수행하면 충분합니다.

find ~/lists -empty

유형을 나타 내기 위해 %y출력 형식 지정자를 사용할 수 있습니다.

          %y     File's type (like in ls -l), U=unknown type (shouldn't happen)

예 :

find ~/lists -empty -printf '%y %p\n'

또는 옵션 ls을 포함 하는와 같은 외부 프로그램을 사용하십시오.--classify

    -F, --classify
          append indicator (one of */=>@|) to entries

find ~/lists -empty -exec ls -Fd {} \;

공백 문자 만 포함하는 파일을 포함하도록 '비어 있음'정의를 확장하면 이제는 비어 있지 않은 파일을 실제로 열고 해당 내용을 검사해야하기 때문에 더 복잡해지고 계산 집약적입니다. 제가 생각할 수있는 가장 효율적인 방법은 다음과 같습니다.

find ~/list \( -empty -o \( -type f -a ! -exec grep -qm1 '[^[:blank:]]' {} \; \) \) -exec ls -Fd {} \;

(비어 있거나 파일 AND grep이 하나 이상의 공백이 아닌 문자를 감지하지 못함). 그래도 더 나은 방법이있을 것입니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관