Command-Line
最後列印不帶“-”的SHA總和?
是否可以在沒有
-
附加到末尾的情況下列印 SHA 總和?$ echo test | sha1sum 4e1243bd22c66e76c2ba9eddc1f91394e57f9f83 - <--- this "-" dash/hyphen
我知道我們可以使用
awk
和其他命令行工具,但是可以不使用其他工具來完成嗎?$ echo test | sha1sum | awk '{print $1}' 4e1243bd22c66e76c2ba9eddc1f91394e57f9f83
如果沒有其他工具或不編輯實際的 sha1sum 腳本/二進製文件,這是不可能的。當 sha1sum 被輸入一個文件時,它會在總和之後列印文件名。當 sha1sum 未提供文件或與管道一起使用時。它將 - 作為佔位符放置,以指示輸入不是文件。
由於 sha1sum 雜湊的長度為 40 個字元,因此您可以將輸出通過管道傳輸到 head 命令中並從中提取前 40 個字元:
echo test | sha1sum | head -c 40