모든 하위 폴더에서 와일드카드 이름을 검색하는 방법은 무엇입니까?

모든 하위 폴더에서 와일드카드 이름을 검색하는 방법은 무엇입니까?

모든 하위 폴더에서 와일드카드 이름을 검색하는 방법은 무엇입니까? dir *pattern* /s*nix에서 DOS 명령과 동일한 것은 무엇입니까 ?

답변1

당신은 그것을 사용할 수 있습니다 find. 예를 들어, abcd파일 이름에 포함된 모든 파일과 디렉터리를 찾으려면 다음을 실행할 수 있습니다.

find . -name '*abcd*'

답변2

지쉬어:

ls -ld -- **/*abcd*

크쉬 93:

set -o globstar     # put this line in your ~/.kshrc
ls -ld -- **/*abcd*

큰 타격 ≥4:

shopt -s globstar   # put this line in your ~/.bashrc
ls -ld -- **/*abcd*

야쉬:

set -o extendedglob # put this line in your ~/.yashrc
ls -ld -- **/*abcd*

tcsh:

set globstar
ls -ld -- **/*abcd*

물고기:

ls -ld -- **abcd*

(이 쉘 중 일부는 디렉토리 트리를 따라 내려갈 때 심볼릭 링크를 따라갑니다. 일부는 이것을 좋아하지 zsh않거나 수행 해야 합니다 .)yashtcsh***/*abcd*

이식성(매우 오래된 시스템 제외, OpenBSD는 오랜 시간이 걸렸지만 마침내 exec … +5.1부터 지원함):

find . -name '*abcd*' -exec ls -ld {} +

POSIX는 아니지만 *BSD, Linux, Cygwin, BusyBox에서 작동합니다.

find . -name '*abcd*' -print0 | xargs -0 ls -ld

일부 BSD를 제외하고 일치하는 파일이 없으면 ls -ld인수 없이 실행되므로 나열됩니다 .. 일부 xargs구현에서는 이 -r옵션을 사용하여 이 문제를 해결할 수 있습니다.

관련 정보