Bash

如何在 shell 中傳輸 md5 雜湊結果

  • May 7, 2015

我正在尋找一種簡單的方法來將結果傳遞md5sum到另一個命令中。像這樣的東西:

$echo -n 'test' | md5sum | ...

我的問題是不僅md5sum輸出字元串的雜湊值,還輸出一個連字元,這表明輸入來自標準輸入。我檢查了 man 文件,但沒有找到任何控制輸出的標誌。

您可以使用命令cut ; 它允許您從每個輸入行中剪切某個字元/字節範圍。由於 MD5 雜湊具有固定長度(32 個字元),您可以使用該選項-c 1-32僅保留輸入行的前 32 個字元:

echo -n test | md5sum | cut -c 1-32

或者,您可以告訴cut在每個空格處拆分行並僅輸出第一個欄位:(注意空格字元周圍的引號)

echo -n test | md5sum | cut -d " " -f 1

有關更多選項,請參見cut 聯機幫助頁。

引用自:https://unix.stackexchange.com/questions/18866