"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' \)