파일 이름에서 문자열을 입력한 순서대로 검색하려면 find 명령을 어떻게 사용합니까?

파일 이름에서 문자열을 입력한 순서대로 검색하려면 find 명령을 어떻게 사용합니까?

One두 단어의 합이 포함된 파일 이름을 찾으려고 한다고 가정해 보겠습니다 Two. 순서는 다음과 같은 순서여야 합니다. 동시에, 역순으로 단어가 포함된 파일을 제외하고 싶습니다../fksklknejnwjOnesvjnh9uibivuwTwojnwovno./fksklknejnwjTwosvjnh9uibivuwOnejnwovno

지금까지 내가 얻은 것은 다음과 같습니다. 이는 단어 순서가 잘못된 파일을 제외하지 않습니다.

find . -type f -name "*One*" -name "*Two*"

이 질문이 매우 기본적인 것이라면 어떤 도움이라도 대단히 감사하고 죄송합니다. 초보자인데 여기에 처음 글을 올려봅니다.

답변1

-name테스트에서는 find일반적인 파일 이름 글로빙 패턴을 사용합니다. 패턴은 *One*Two*두 하위 문자열을 순서대로 포함하는 One모든 Two이름과 일치합니다 .

그래서:

find . -type f -name '*One*Two*'

-name '*One*' -name '*Two*'이름에 순서에 관계없이 두 문자열이 모두 포함된 파일을 찾을 수 있습니다 . "잘못된" 단어 순서가 있는 파일에 대해 각 개별 테스트가 정확하므로 제외할 파일이 제공됩니다.

관련 정보