【发布时间】:2017-05-22 07:08:25
【问题描述】:
我正在尝试将 JPEG 文件从 Image Magik 的“转换”传输到其他命令行程序以进行基准测试。有没有办法强制没有内置功能的程序从管道读取而不是从磁盘读取文件?
具有这种内置功能的程序示例是“CJPEG”:
convert INFILE.JPG tga:- | cjpeg -outfile OUTFILE.JPG -targa
一个没有“:”的程序示例
jpegoptim --dest OUTFOLDER INFILE.JPG
理想情况下它会像这样工作(但事实并非如此):
convert INFILE.JPG jpg:- | jpegoptim --dest OUTFOLDER -
我设法做到了:
BASE64_IMG=$(convert INFILE.JPG jpg:- | base64)
还有:
JPG<(echo "${BASE64_IMG}" | base64 --decode) /dev/stdin | awk '{print $1}'
但我不知道该怎么办......
感谢您的帮助。
【问题讨论】:
-
我的
jpegoptim版本可以选择--stdin从标准输入读取。它还处理-从标准输入读取。 -
你使用的版本号是多少?
-
jpegoptim v1.4.1 x86_64-pc-linux-gnu. -
imagemagick 的转换已经产生了优化的 jpeg。
-
如果它可以从文件中读取,你可以使用命名管道来代替
标签: bash command-line pipe