Shell-Script
在目錄中遞歸查找長度為 32 個字元的文件並應用命令
我有文件夾和文件看起來像這樣:
/thumbs/6b0/6b029aab9ca00329cd28fd792ecf90a.jpg /thumbs/6b0/6b029aab9ca00329cd28fd792ecf90a-s.jpg /thumbs/d11/d11e15a72e20e14c45bd2769d763126d.jpg /thumbs/d11/d11e15a72e20e14c45bd2769d763126d-s.jpg
我想將以下命令應用於 thumbs 文件夾中所有子目錄中名稱中沒有 -s 的文件。
mogrify -resize 50% -quality 85 -strip filename.jpg
我環顧四周 find 和 grep 但不知道我該怎麼做。
任何幫助表示讚賞。
find thumbs/ -not -name "*-s.jpg" -exec mogrify -resize 50% -quality 85 -strip {} \;
要回答主題中的問題:
find . -name '????????????????????????????????.jpg' -exec cmd {} \;
要插入這 32 個
?
s,使用tcsh
或zsh
模式bash
,emacs
請鍵入Alt+3``Alt+2``?
。使用這些外殼並ksh
在vi
模式下,輸入 a?
,使用 離開插入模式Esc
,然後按x
剪切它?
,然後32p
將其粘貼 32 次。使用 GNU
find
,您還可以:find . -regextype egrep -regex '.*/[^/]{32}\.jpg' -exec cmd {} \;