macos - 使用 OS X bash 将剪贴板中的 sha1 校验和与本地文件的 sha1 进行比较的最快方法

标签 macos bash clipboard checksum

我在想也许它是将 shasumdiff 与管道或其他东西结合起来...

我想知道比较从网站复制到我的剪贴板的 sha1 校验和与我从同一站点下载的本地文件的 sha1 校验和以验证其完整性的最快方法。

例如,我的剪贴板中有来自 Raspberry Pi NOOBS download page 的 sha1 字符串 94f7ee8a067ac57c6d35523d99d1f0097f8dc5cc我想使用终端应用程序将它与 NOOBS_v1_9_0.zip 文件的校验和进行比较,我不想从剪贴板内容创建一个新文件。

我认为它是 bash 3.2(它是 OS X 10.11.4)

最佳答案

你可以在 bash 中使用这样的命令:

if [[ $(pbpaste) == $(shasum file | awk '{print $1}') ]]; then echo 'matches'; fi

使用它您可以创建这样的函数(例如,将其添加到您的 ~/.bash_profile):

shachk () { 
    if [[ $(pbpaste) == $(shasum "$@" | awk '{print $1}') ]]; then echo 'match'; fi ;
}

所以在命令行上你可以简单地输入:

$ shachk somefile

然后它将它与您粘贴板上的哈希值进行比较。

编辑:略微改进的函数版本,它返回文件路径、匹配/失败并对输出进行着色。

shachk() { 
    [[ $(pbpaste) == $(shasum "$@" | awk '{print $1}') ]] \
    && echo $1 == $(pbpaste) $'\e[1;32mMATCHES\e[0m' && return; \
    echo $1 != $(pbpaste) $'\e[1;31mFAILED\e[0m' ; 
}

关于macos - 使用 OS X bash 将剪贴板中的 sha1 校验和与本地文件的 sha1 进行比较的最快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36382599/

相关文章:

macos - 如何在 Cocoa MacOS Webview 中显示简单的文本消息(toasts/alerts)?

c++ - 解压缩文件的权限被拒绝 (popen)

java - 捕获 Activity 窗口的屏幕截图

objective-c - 如何抑制自动保存 “The file has been changed by another application” 警报?

swift : Convert byte array into CIImage

macos - 迭代文件夹并将文件上移一级

c# - 剪贴板 将对象复制到和从中复制

python 3.6 窗口 : retrieving the clipboard CF_HTML format

swift - 找不到“iTunesLibrary/ITLibDefines.h”文件

即使在 main 中的最后一条语句之后,Java 程序仍继续运行(在后台)