특정 문자 시퀀스를 포함하지만 시작하거나 끝나지 않는 파일 이름 나열

특정 문자 시퀀스를 포함하지만 시작하거나 끝나지 않는 파일 이름 나열

"2022"를 포함하는 모든 파일 이름을 나열하고 "2022"로 시작하거나 끝나는 파일 이름을 제외하고 싶습니다. 이에 적합한 명령은 무엇입니까?

답변1

find명령은 다음을 수행합니다.

find . -name '*2022*' ! \( -name '2022*' -o -name '*2022' \)

먼저 아무 곳에나 포함된 파일을 일치시킨 다음 시작이나 끝 부분에 포함된 파일을 2022일치시키지 않습니다 .2022

제가 사용하는 환경에서는 모든 것을 *작은따옴표나 로 묶어야 합니다 \.

이 명령을 사용하여 각 조건을 개별적으로 선언할 수도 있지만 첫 번째 조건이 더 편리합니다.

find . -name '*2022*' ! -name '2022*' ! -name '*2022'

이는 디렉터리의 전체 깊이까지 드롭다운된다는 점을 명심하세요. cwd로 제한하십시오.

find . -maxdepth 1 -name '*2022*' ! \( -name '2022*' -o -name '*2022' \)

관련 정보