次の拡張子を持つファイルでいっぱいのフォルダがあります.dot
。
a.dot
b.dot
c.dot
このフォルダ内のすべてのファイルを参照して、次のようにコマンドを実行したいと思います。
dot -Tpdf a.dot -o a.pdf
dot -Tpdf b.dot -o b.pdf
dot -Tpdf c.dot -o c.pdf
垂直バーを使用し、次のコマンドを実行する必要があるようです。
ls *.dot | dot -Tpdf ... -o ....pdf
しかし、パイプラインが各ファイルを中間部分にのみ配置する方法はわかりません。使用する必要がありますかxargs
?そして延長部分をはずした後、2番目の部分に乗せる方法も出ています。少なくとも正しい方向(使用するシェルコマンド)を教えることができれば、この問題を解決するのに役立ちます。
ベストアンサー1
使用
for i in *.dat ; do dot -Tpdf "$i" -o "$(basename "$i" dot)pdf" ; done
編集する: スペースを含むファイル名を正しく処理します。