我只需要grep md5哈希
这是哈希
MD5 (mt.pm) = adcddd9492c707642d2bcffbfc67b7a6
它需要看起来像这样
adcddd9492c707642d2bcffbfc67b7a6
或做反向
crapb0c63a3cb776502fe03706b2fd540439 /home/mta.pm“
并且只获取哈希值 现在线索如何 任何帮助
答案 0 :(得分:0)
要进行grep,请执行以下操作(这不适用于所有grep implementations):
grep -o '[a-z0-9]*$'
或者您可以使用sed:
sed 's/.*= *\([a-z0-9]*\)$/\1/'
答案 1 :(得分:0)
试试这个(GNU grep
):
grep -oP '.* \K.*$'
或更好:
grep -o '[[:xdigit:]]\{32\}$'
或bash
:
read -a arr <<< 'MD5 (mt.pm) = adcddd9492c707642d2bcffbfc67b7a6'
echo ${arr[-1]}
使用\{32\}
它会更强大。 md5
始终为32个十六进制字符,请参阅http://en.wikipedia.org/wiki/MD5
[[:xdigit:]]
是POSIX class regex,表示只匹配十六进制字符。
<强>最后强>
如果要匹配字符串中长度为32个十六进制的字符:
grep -o '[[:xdigit:]]\{32\}'
会做到这一点。