디렉토리 (gif, png, jpg, jpeg)에서 모든 이미지 파일을 찾아야합니다.
find /path/to/ -name "*.jpg" > log
.jpg 파일뿐만 아니라이 문자열을 수정하는 방법?
답변
find /path/to -regex ".*\.\(jpg\|gif\|png\|jpeg\)" > log
답변
find /path/to/ \( -iname '*.gif' -o -iname '*.jpg' \) -print0
작동합니다. 더 우아한 방법이있을 수 있습니다.
답변
find -E /path/to -regex ".*\.(jpg|gif|png|jpeg)" > log
이렇게 -E
하면 정규식에서 파 렌스와 파이프를 피할 필요가 없습니다.
답변
find /path/to/ -type f -print0 | xargs -0 file | grep -i image
이 file
명령을 사용하면 파일 이름 (또는 확장자)에 관계없이 파일 형식을 인식하려고합니다.
경우 /path/to
또는 파일 이름이 문자열을 포함 image
하고 위의 가짜 안타를 반환 할 수 있습니다. 이 경우 제안하겠습니다
cd /path/to
find . -type f -print0 | xargs -0 file --mime-type | grep -i image/
답변
find /path -type f \( -iname "*.jpg" -o -name "*.jpeg" -o -iname "*gif" \)
답변
위의 @Dennis Williamson의 답변에 추가하여, 동일한 정규 표현식이 파일 확장자에 대소 문자를 구분하지 않게하려면 -iregex를 사용하십시오.
find /path/to -iregex ".*\.\(jpg\|gif\|png\|jpeg\)" > log
답변
Mac OS에서
find -E packages -regex ".*\.(jpg|gif|png|jpeg)"