检查文件中是否存在现有的 md5sum - Shell 脚本
Check existing md5sum exist in file - Shell script
我正在使用 Ubuntu 14.04。
我有一个存储在 a.txt
文件中的 md5 散列文本列表。现在我将输入一个文本,我将对其进行哈希处理并检查结果是否在我的文件中。我正在使用 grep
来执行此操作,但该脚本仅适用于静态字符串。
我的脚本文件看起来像
file="a.txt"
s1="81dc9bdb52d04dc20036dbd8313ed055 -"
echo "s1: "$s1
s2=$(echo -n "1234" | md5sum)
echo "s2: "$s2
if grep -Fx "$s1" "$file"; then
echo 's1 FOUND'
else
echo 's1 NOT FOUND'
fi
if grep -Fx "$s2" "$file"; then
echo 's2 FOUND'
else
echo 's2 NOT FOUND'
fi
在 a.txt
文件中,我只有 1 行:
81dc9bdb52d04dc20036dbd8313ed055 -
如上面的脚本,你可以看到,我将 s1
的值设置为静态字符串,而 s2
是散列的结果。
我得到的输出:
s1: 81dc9bdb52d04dc20036dbd8313ed055 -
s2: 81dc9bdb52d04dc20036dbd8313ed055 -
81dc9bdb52d04dc20036dbd8313ed055 -
s1 FOUND
s2 NOT FOUND
正如我在屏幕上看到的那样 - s1
和 s2
具有相同的值。 s1
在文件中找到,但在 s2
中找不到。我不明白这里出了什么问题以及如何解决。
$s1
包含一个 space。 echo -n "1234" | md5sum
的输出包含两个。
替换
echo "s1: "$s1
echo "s2: "$s2
来自
echo "s1: $s1"
echo "s2: $s2"
看问题
替换
s2=$(echo -n "1234" | md5sum)
来自
s2=$(echo -n "1234" | md5sum | sed 's/ / /')
解决这个问题。
我正在使用 Ubuntu 14.04。
我有一个存储在 a.txt
文件中的 md5 散列文本列表。现在我将输入一个文本,我将对其进行哈希处理并检查结果是否在我的文件中。我正在使用 grep
来执行此操作,但该脚本仅适用于静态字符串。
我的脚本文件看起来像
file="a.txt"
s1="81dc9bdb52d04dc20036dbd8313ed055 -"
echo "s1: "$s1
s2=$(echo -n "1234" | md5sum)
echo "s2: "$s2
if grep -Fx "$s1" "$file"; then
echo 's1 FOUND'
else
echo 's1 NOT FOUND'
fi
if grep -Fx "$s2" "$file"; then
echo 's2 FOUND'
else
echo 's2 NOT FOUND'
fi
在 a.txt
文件中,我只有 1 行:
81dc9bdb52d04dc20036dbd8313ed055 -
如上面的脚本,你可以看到,我将 s1
的值设置为静态字符串,而 s2
是散列的结果。
我得到的输出:
s1: 81dc9bdb52d04dc20036dbd8313ed055 -
s2: 81dc9bdb52d04dc20036dbd8313ed055 -
81dc9bdb52d04dc20036dbd8313ed055 -
s1 FOUND
s2 NOT FOUND
正如我在屏幕上看到的那样 - s1
和 s2
具有相同的值。 s1
在文件中找到,但在 s2
中找不到。我不明白这里出了什么问题以及如何解决。
$s1
包含一个 space。 echo -n "1234" | md5sum
的输出包含两个。
替换
echo "s1: "$s1
echo "s2: "$s2
来自
echo "s1: $s1"
echo "s2: $s2"
看问题
替换
s2=$(echo -n "1234" | md5sum)
来自
s2=$(echo -n "1234" | md5sum | sed 's/ / /')
解决这个问题。