如何将图像粘贴到命令行中?

Lea*_*Xue 15 terminal.app copy-paste images macos

当前用例:

  1. 我在 safari 中的一些随机 png 上选择“复制图像”。
  2. 我在终端中输入 pbpaste,然后获取图像的链接。

反正有没有得到二进制数据呢?

小智 21

有一个适用于您的用例的实用程序:pngpaste

https://github.com/jcsalterego/pngpaste

您可以使用brew install pngpaste或 git clone/make 安装最新版本(有点旧)。

  • 这应该是公认的答案。 (2认同)

slh*_*hck 5

当您复制图像时,OS X 实际上不仅仅复制原始图像数据。事实上,Cocoa 中存在多个粘贴板,其中有多种图像表示形式。

您唯一的选择pbpaste是选择要访问哪个粘贴板,而不是选择哪种类型的内容。虽然原始十六进制NSData存储在粘贴板中的某个位置以粘贴到图像编辑工具,但您无法将pbpaste其粘贴到仅接受文本的终端。从pbpaste联机帮助页

它通常首先在粘贴板中查找纯文本数据并将其写入标准输出

由于纯文本数据可用作图像的 URL,因此无论如何您都将始终粘贴该数据。

无法告诉 pbpaste 仅获取指定的数据类型。

为了完整起见,下面是为图像存储的 URL,例如:

使用Pasteboard Inspector截取的屏幕截图。


sgt*_*ano -1

您可以尝试在十六进制编辑器中打开图像来访问原始文件,我在我的 Mac 上使用了 Hex Fiend,它可以完成这项工作。

http://ridiculousfish.com/hexfiend/

  • 这需要您先保存图像。 (3认同)