0

md5ハッシュのみをgrepする必要があります

これがハッシュです

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 文字の 16 進数です。http://en.wikipedia.org/wiki/MD5を参照してください。


[[:xdigit:]]POSIX クラスの regexです。つまり、16 進文字のみに一致することを意味します。


最後に

文字列内の 32 個の 16 進文字に一致させたい場合:

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

トリックを行います。

于 2012-10-12T17:56:28.783 に答える