0

我只需要 grep md5 哈希

这是哈希

MD5 (mt.pm) = adcddd9492c707642d2bcffbfc67b7a6

它需要看起来像这样

adcddd9492c707642d2bcffbfc67b7a6

或做相反的事情

crapb0c63a3cb776502fe03706b2fd540439 /home/mta.pm”

并且现在只获取哈希线索如何获得任何帮助

4

2 回答 2

0

要 grep,请执行以下操作(这不适用于所有grep 实现):

grep -o '[a-z0-9]*$'

或者你可以使用 sed:

sed 's/.*= *\([a-z0-9]*\)$/\1/'
于 2012-10-12T17:55:41.500 回答
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 类正则表达式,这意味着只匹配十六进制字符。


最后

如果要匹配字符串中长 32 个十六进制字符:

grep -o '[[:xdigit:]]\{32\}'

会成功的。

于 2012-10-12T17:56:28.783 回答