경로 이름에 단어 사이에 특정 순서가 없는 여러 단어가 포함된 파일 검색

경로 이름에 단어 사이에 특정 순서가 없는 여러 단어가 포함된 파일 검색

경로 이름 에 특정 순서 없이 두 개 이상의 단어( word1, ) 가 포함된 모든 파일을 검색하고 싶습니다 . word2일치하는 파일의 예는 다음과 같습니다.

word1bar/fooword2/myfile
fooword2/word1bar/myfile
fooword2/bar/word1myfile

어떤 명령으로 작업을 해결할 수 있나요?

다음과 같은 명령이 작동할 것 같습니다.

find . -regex regexpattern

감사해요.

내 솔루션 locate찾기 및 grep 파이프라인을 사용하여 경로 이름으로 파일 검색이 향상되었습니다.

답변1

이는 단일 패턴(정규식 또는 셸)을 사용하여 수행하기 어렵지만 find여러 조건을 사용할 수 있으므로 다음을 사용할 수 있습니다.

find . -type f -path "*word1*" -path "*word2*" ...

정규식에서는 단어의 다양한 순열을 모두 지정해야 합니다 .*word1.*word2.*|.*word2.*word1.*(예: ERE 또는 Perl RE만 해당). 두 단어 이상을 찾으려면 문제가 빨리 해결됩니다.

관련 정보