"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.png
0
find . -regex '.*/0*504.png'
완전한 경로 일치이기 .*/
때문에 선도적입니다 .-regex
재귀 검색이 필요하지 않은 경우 bash와 같은 셸은 다음과 같은 표현을 허용하는 확장된 glob을 제공할 수 있습니다.*(0)
printf '%s\n' *(0)504.png
사용 중인 셸에 대한 설명서를 확인하세요.