【Ubuntu】複数のEPSを一括でSVGに変換するコマンド

最終更新日

複数のEPSファイルを一気にSVGに変換するコマンド.

コマンド1行!

長いけどコマンド一発.変換対象のEPSがあるディレクトリで実行してくださいな.

$ for fname in *.eps; do inkscape $fname -l ${fname%.eps}.svg; done

素敵な素材配布サイトがときどきフリー素材を配布してたりするね.それ自体はありがたいことで,大歓迎.でも何故か(それほどメジャーとは思われない)EPS形式で配布してくれることがある.おそらくそのデザイナーはAdobeのIllustratorを使っていて,標準の出力形式の1つであるEPSを何気なく使ってるんだと思う(僕はIllustratorを持ってないので詳しくは知らないんだけど).

そんなときにこのコマンドでEPSをSVGに変換してください.Ubuntuで実行してるから,Windowsだと少しやり方が違うかもしれない.あとInkscapeをインストールしてあることが前提です.変換対象のEPSファイルを1つのディレクトリに集めて,そこで実行してください.

僕の経緯

Inkscapeをコマンドラインから使うのを今回初めて試した.複数のEPSファイルを一括でSVGに変換しようと思わなければ,このサイトで紹介されてる下のコマンドでも実現可能.

$ inkscape filename.eps --export-plain-svg=filename.svg

さらに,Inkscape公式のドキュメントを見ると,「–export-plain-svg=FILENAME」のオプションをもっと短く「-l」で書けるとあるので,もう少し短くこう書ける.

$ inkscape filename.eps -l filename.svg

一方で,複数のファイルを一括でリネームするためのこんなコマンドがあるらしい

$ for fname in *.cgi; do mv $fname ${fname%.cgi}.txt; done

この2行目のコマンドを,inkscapeのコマンドと入れ替えて,先ほど紹介したコマンドが完成するわけですね.

for文は改行してもいいらしい

直上の引用サイトで紹介されてる通り,端末からfor文を書くときは行末でエンターを押していいみたい.改行されたあと,さらに続けてコマンドを入力するように端末が待機状態になる.これこそまさに「コマンドプロンプト(命令催促)」って感じだねぇ笑.

$ for fname in *.eps; do
> inkscape $fname -l ${fname%.eps}.svg
> done
実際のターミナルのスクショ

コメントを残す

%d人のブロガーが「いいね」をつけました。