我正在尝试在网站上自动查看图像。以下将成功下载所需的图像文件:
wget $(wget -O - myURL | grep myPattern | sed myScript)
当我尝试使用管道连接到 feh 时
wget -O - $(wget -O - myURL | grep myPattern | sed myScript) | feh
我明白了
Cannot write to `-' (Broken pipe).
做
wget -O - $(wget -O - myURL | grep myPattern | sed myScript)
将向标准输出输出大量乱码,我假设是图像文件,所以我的结论是 feh 无法从管道读取,并且查看手册页似乎表明这是真的。可以以某种方式解决这个问题还是我需要其他工具?如果我这样做,我会更喜欢尽可能小的工具。
我查看了一个与此略有相似的问题,Trouble with Pipeline through sed,但不确定这有多相似。我确实尝试了 sed 的 --unbuffered 选项,它不起作用,我不确定如果它起作用我会理解它。
ImageMagick 的
display
可以从 stdin 获取图像。
语法:
-f, --filelist file
如果
file
是 "-"
,feh
将从其标准输入中读取 filelist
。
所以:
feh -f-
您是否尝试过跑步
feh -
而不是 feh
?
如果您使用kitty术语(https://sw.kovidgoyal.net/kitty/)您可以使用
kitten icat < ~/my_image.png
查看帮助了解详情
# kitten --help # general help
# kitten icat --help # icat help
支持 kitty 图形协议的其他终端也可以执行此操作:https://sw.kovidgoyal.net/kitty/graphics-protocol/#terminal-graphics-protocol