*.jpg
何百ものファイルを*.webp
次のファイルに変換しようとしています。libwebp
macOSで。特にコマンドラインツールを使いたいです。cwebp
変換を実行します。仕組みは次のとおりです。
cwebp <input_file>.jpg -o <output_file>.webp
about.という名前のファイルは、*.jpg
というIMG_20160227_110640.jpg
ディレクトリに保存されていますroot
。問題は、*.webp
変換を実行するときにファイルが存在しないため、ファイル名をcwebp
。
cwebp IMG_20160227_110640.jpg -o IMG_20160227_110640.webp
しかし、何百行ものコマンドがあり、何百行ものコマンドを入力したくありません。正規表現/スクリプトを使用して変換を自動化するにはどうすればよいですか?
ベストアンサー1
for
パラメータ拡張と組み合わせたループを使用してください。
for f in *.jpg; do cwebp "$f" -o "${f%.jpg}.webp"; done
LESS='+/Parameter Expansion' man bash
Bashの詳細も参照してください。
しかし、パラメータ拡張はPOSIXで指定されます。;Bashに限定されていません。 (Bashにはいくつかの拡張機能があります。)上記のコマンドは、すべてのPOSIXシステムで機能します。