ディレクトリ以下の画像を一括でwebpに変換したい人のためのワンライナー(jpgとpngのみ)

$ find -E . -iregex '^.+\.(jpe?g|png)$' | sed -r 'p;s/\.(jpg|jpeg|png)$/\.webp/gi' | xargs -n2 bash -c 'cwebp $0 -o $1'
  1. findで拡張子のファイルを探して(JPG,jpg,JPEG,jpeg,PNG,png)
  2. sedで元ファイル名/置換後ファイル名を出力
  3. xargsでbashを実行 -cオプションで文字列からcwebpを実行 ※1

※1.xargsで複数の引数の場合渡す位置が細かく設定できなかったんでbashに渡して実行

cwebpコマンドがない人はGoogleより先にDownLoadしていてください。

Downloading and Installing WebP

元ファイルを削除するバージョン

$ find -E . -iregex '^.+\.(jpe?g|png)$' | sed -r 'p;s/\.(jpg|jpeg|png)$/\.webp/gi' | xargs -n2 bash -c 'cwebp $0 -o $1; rm $0'