因此,很简单,我希望将bcrpyt regex合并到egrep命令中,以查看每行上是否存在bcrypt哈希。
我目前很容易用MD5哈希做到这一点:
egrep -wa "[a-f0-9]{32}" DB.txt >> DB_md5.txt
egrep -v -a "[a-f0-9]{32}" DB.txt >> DB_nomd5.txt
我研究发现: Regular expression to find bcrypt hash?
解决方案为:\$2[ayb]\$.{56}
我正在努力将其包含在我的egrep命令中。例如:
egrep -wa "\$2[ayb]\$.{56}" DB.txt >> DB_bcrypt.txt
以上命令不起作用。任何帮助将不胜感激。
注意:bcrypt哈希的位置并不重要,它可以位于行中的任何位置,因此为什么我从下面链接中的正则表达式解决方案中删除了^和$。
答案 0 :(得分:1)
您可以使用
grep -Ea '\$2[ayb]\$.{56}' DB.txt >> DB_bcrypt.txt
请参见online demo。
注释
-E
-启用POSIX ERE语法,现在{
和}
范围限定符中的{56}
和\{56\}
不需要转义(您的正则表达式已使用POSIX BRE引擎解析,并且您需要\$
来匹配模式56次)\$
解析为"\$"
的正则表达式转义,否则$
只会使用animal,speed,weight=zip(*sorted_tuple(tuples_list))
特殊字符,即字符串。