내 ~/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] 삭제
몇 마디 만하겠습니다