조건이있는 재귀 ls 수없는 이유는 무엇입니까? 어떻게합니까? (우분투에서 bash를

디렉토리와 하위 디렉토리에서 모든 pdf 파일을 찾기 위해 이와 같은 명령을 사용할 수없는 이유는 무엇입니까? 어떻게합니까? (우분투에서 bash를 사용하고 있습니다)

ls -R *.pdf

편집하다

그런 다음 이러한 파일을 모두 삭제하려면 어떻게해야합니까?



답변

디렉토리와 하위 디렉토리에서 모든 pdf 파일을 찾기 위해 이와 같은 명령을 사용할 수없는 이유는 무엇입니까?

*.pdf명령 의 와일드 카드 는 실행 하기 전에bash 현재 디렉토리의 모든 일치하는 파일로 확장됩니다 .ls


어떻게합니까? (우분투에서 bash를 사용하고 있습니다)

당신의 답을 찾으십시오.

find . -name \*.pdf

pdf 파일의 재귀 목록입니다. -iname대소 문자를 구분하지 않으므로

find . -iname \*.pdf

예를 들어 모든 .pdf 파일을 나열합니다. foo.PDF

또한 제한된 수의 하위 폴더에 ls를 사용할 수 있습니다.

ls *.pdf */*.pdf

하위 폴더에서 모든 pdf 파일을 찾습니다 (bar / foo / asdf.pdf가 아니라 bar / foo.pdf와 일치하고 foo.PDF와 일치하지 않음).

find로 찾은 파일을 제거하려면

find . -iname \*.pdf -delete


답변

다른 사람들이 말했듯이, 그 답을 찾으십시오.

이제 다른 부분에 대답하십시오.

  • 그런 다음 이러한 파일을 모두 삭제하려면 어떻게해야합니까?

    찾기 . -iname * .pdf -exec rm {} \;

해야합니다.


답변

ls 대신 find를 사용하십시오.

find . -name '*.pdf'


답변