我正在尝试sxiv
选择一个图像并将该图像传送到剪贴板。
我目前正在使用这个命令:
cat "$(sxiv -foqrt ~/Pictures 2>/dev/null | sed 1q)" | xclip -selection clipboard -t image/png
但是,这仅在所选文件为 时才有效。仅当 时png
它不起作用。我有多种想要复制的文件类型。-t image
xclip
我该如何解决文件类型问题?
答案1
由于我的声望值不足以发表评论 - 你可以获得MIME 类型使用 绘制图像file
,将其存储在临时变量中,然后将其传递给xclip
,如下所示:
filename="$(sxiv -foqrt ~/Pictures 2>/dev/null | sed 1q)"
filetype="$(file --brief --mime-type "${filename}")"
cat "${filename}" | xclip -selection clipboard -t "${filetype}"
当然,如果您只想要图像文件,那么您可以将最后一个命令包装在一个简单的if
语句中来检查是否filetype
包含子字符串image
。