!["find -name *.jks"가 일부 파일을 반환하지 않는 이유는 무엇입니까? [복사]](https://linux55.com/image/49927/%22find%20-name%20*.jks%22%EA%B0%80%20%EC%9D%BC%EB%B6%80%20%ED%8C%8C%EC%9D%BC%EC%9D%84%20%EB%B0%98%ED%99%98%ED%95%98%EC%A7%80%20%EC%95%8A%EB%8A%94%20%EC%9D%B4%EC%9C%A0%EB%8A%94%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F%20%5B%EB%B3%B5%EC%82%AC%5D.png)
find . -name *.jks -print 2>/dev/null
파일 확장자를 반환합니다.잭그렇게밑줄 없음이름의 일부로. 놀랍게도 *가 밑줄을 대체하지 않는다는 사실을 발견했습니다.
find . -name *_*.jks -print 2>/dev/null
파일 확장자를 반환합니다.잭저것밑줄이 있습니다.
밑줄이 0개 이상 포함된 파일을 검색하는 방법은 무엇입니까? OSX Mountain Lion을 사용합니다.
답변1
내가 아는 모든 버전은 find
밑줄과 와일드카드를 일치시킵니다.
이 작업을 수행할 때는 주의하세요.
find . -name *.jks -print 2>/dev/null
*.jks
" "는 find 명령을 실행하기 전에 쉘에 의해 확장될 수 있습니다.
예를 들어
$ mkdir foo
$ touch a.jks foo/a.jks foo/b.jks
a.jks
$ find . -name *.jks -print
./a.jks
./foo/a.jks
이는 실제로 전화를 걸기 때문에 find . -name a.jks -print
예를 들어 찾을 수 없기 때문입니다 b.jks
.
와일드카드 표현을 인용하면 운이 더 좋을 수도 있습니다.
$ find . -name "*.jks" -print
./a.jks
./foo/a.jks
./foo/b.jks
나는 확실히 달리고 있다
$ find . -name "*.jks" -print
밑줄이 있거나 없는 모든 파일을 제공합니다.