내 폴더와 파일은 다음과 같습니다.
/thumbs/6b0/6b029aab9ca00329cd28fd792ecf90a.jpg
/thumbs/6b0/6b029aab9ca00329cd28fd792ecf90a-s.jpg
/thumbs/d11/d11e15a72e20e14c45bd2769d763126d.jpg
/thumbs/d11/d11e15a72e20e14c45bd2769d763126d-s.jpg
이름에 -s가 없는 Thumb 폴더의 모든 하위 디렉터리에 있는 파일에 다음 명령을 적용하고 싶습니다.
mogrify -resize 50% -quality 85 -strip filename.jpg
나는 find와 grep을 둘러 보았지만 이것을 수행하는 방법을 모릅니다.
도움을 주시면 감사하겠습니다.
답변1
find thumbs/ -not -name "*-s.jpg" -exec mogrify -resize 50% -quality 85 -strip {} \;
답변2
주제의 질문에 답하십시오.
find . -name '????????????????????????????????.jpg' -exec cmd {} \;
?
이 32 초를 삽입하려면 를 사용하거나 tcsh
패턴 을 입력 하세요 . 이 쉘을 사용하고 모드 에서 a 를 입력하고 삽입 모드를 종료하려면 해당 내용 잘라내기를 누른 다음 32번 붙여넣습니다.zsh
bash
emacs
Alt+3Alt+2?ksh
vi
?
Escx?
32p
GNU를 사용하면 find
다음도 수행할 수 있습니다.
find . -regextype egrep -regex '.*/[^/]{32}\.jpg' -exec cmd {} \;