ls -R
내 질문은 ls *.pdf
예 를 들어 PDF 파일을 재귀 적으로 찾기 위해 이 두 기능을 하나로 결합하는 것이 어떻습니까 ? 물론 다른 것들도 있습니다. 궁금해. 감사해요.pdf
ls
ls -R \*.pdf
find
답변1
셸은 이를 현재 작업 디렉터리의 모든 .pdf 파일로 확장하고 *.pdf
이 작업을 수행하기 위해 하위 디렉터리의 모든 .pdf 파일을 보는 데 사용할 명령과 아무 관련이 없으므로 다음을 활성화해야 합니다. shell (in ) 옵션을 사용하여 다음과 같이 현재 작업 디렉토리뿐만 아니라 모든 하위 디렉토리에서 찾거나 확장할 수 있습니다.ls
*.pdf
bash
globstar
**
*.pdf
shopt -s globstar; ls -d -- **/*.pdf
또한 를 사용하면 ls -R \*.pdf
리터럴과 일치하는 단일 파일을 찾고 있으며 *.pdf
여기서는 파일이 실제로 디렉터리 -R
가 아닌 한 하위 디렉터리를 찾는 효과가 없으며 *.pdf
하위 디렉터리를 재귀적으로 나열하는 데만 사용됩니다. 이 조합을 사용하여 .pdf 파일을 필터링할 수 ls
있습니다 grep
.
ls -bR |grep '\.pdf$'
그러나 이는 파일만 보고하고 동일한 종료 패턴을 가진 디렉터리도 보고한다는 것을 보장하지 않습니다.
글쎄, 당신이 말하고 알고 있듯이 가장 좋은 방법은 find
명령을 사용하는 것입니다.
find . -type f -name '*.pdf'