경로 이름 에 특정 순서 없이 두 개 이상의 단어( 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만 해당). 두 단어 이상을 찾으려면 문제가 빨리 해결됩니다.