파일 이름 시작 부분에 나타나는 0을 제외하고 디렉터리에서 파일 이름을 찾습니다.

파일 이름 시작 부분에 나타나는 0을 제외하고 디렉터리에서 파일 이름을 찾습니다.

"202.png, 405.png, 0052.png, 04050.png, ..."라는 파일이 있는 디렉토리가 있습니다. 파일 이름 시작 부분에 나타나는 0을 포함하지 않는 파일 이름을 찾으려면 find 명령이 필요합니다. 예를 들어 , 00504.png라는 파일이 있는 경우 find 명령에 매개변수 504.png를 전달하면 디렉터리에 있는 파일의 실제 이름인 00504.png 파일 이름이 반환되어야 합니다.

예상되는 출력 명령은 다음과 같습니다.

$ find . -name 504.png

원본 파일 이름 00504.png를 반환해야 합니다.

답변1

내가 아는 한, 이 find명령은 -name단순 전역 일치만 지원합니다. 그러나 0개 이상의 문자가 앞에 붙은 일치 항목을 사용할 수 있습니다 -regex.504.png0

find . -regex '.*/0*504.png'

완전한 경로 일치이기 .*/때문에 선도적입니다 .-regex


재귀 검색이 필요하지 않은 경우 bash와 같은 셸은 다음과 같은 표현을 허용하는 확장된 glob을 제공할 수 있습니다.*(0)

printf '%s\n' *(0)504.png

사용 중인 셸에 대한 설명서를 확인하세요.

관련 정보