0


私はlinux、bashを使用しています。
いくつかのディレクトリにたくさんの画像ファイルがあります。すべてに保存する必要のある特定の名前があります(ファイル名とディレクトリ)。しかし、私はすべての画像を異なるサイズとppiに変換する必要があります。使用しました
convert -units PixelsPerInch 75 -resize 200x200 ~/filepath/*.jpg ~/filepath.*jpg
が、間違ったファイルを置き換えました。また
"{}" "{}"%03d.jpg
、新しいファイル名に番号を追加しようとしましたが、001.jpgなどしか表示されません。Bashなどのソリューション
-ファイルパス引数で最後のディレクトリ名/ファイル名を取得する
か、Bash で
ファイル名と拡張子を抽出してスクリプトの他の部分を使用 するかhttp://bytebar.blogspot.com/2008/08/bash-filename-extraction.html が機能しないか、コードを理解するための知識がありません...名前とディレクトリを保持したままこ​​れらのファイルを変換するにはどうすればよいですか?
${filename%.}


4

1 に答える 1

0
ls ~/filepath.*jpg | xargs -n 1 -I{} convert -units PixelsPerInch 75 -resize 200x200 {} {}

「xargs-n1」は、提供された引数を使用して次の関数を一度に1つずつ呼び出します。xargsの-I{}引数は、xargsに{}の各出現箇所を指定された引数に置き換えるように指示します。

于 2012-08-14T15:19:44.740 に答える