如何将未知类型的图像复制到 xclip?

如何将未知类型的图像复制到 xclip?

我正在尝试sxiv选择一个图像并将该图像传送到剪贴板。

我目前正在使用这个命令:

cat "$(sxiv -foqrt ~/Pictures 2>/dev/null | sed 1q)" | xclip -selection clipboard -t image/png

但是,这仅在所选文件为 时才有效。仅当 时png它不起作用。我有多种想要复制的文件类型。-t imagexclip

我该如何解决文件类型问题?

答案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

相关内容