bash搜索行匹配哈希并将其输出到文件

时间:2013-10-09 15:37:25

标签: regex linux bash

我有这个非常大的文本文件3GB,我只需要处理那些具有MD5哈希的行。我只希望在取出那些拥有MD5的线后,文件要短得多。我在想的是做这样的事情:

$cat myfile.txt | grep '[a-fA-F0-9]{32}' > only_lines_with_hashes.txt

由于

2 个答案:

答案 0 :(得分:3)

grep默认使用BRE。那些通常不包括{n},但我相信Gnu grep会接受转义版本,试试

grep '[[:xdigit:]]\{32\}' myfile.txt > hashes.txt

或者通过-E

告诉它扩展了RE
grep -E '[[:xdigit:]]{32}' myfile.txt > hashes.txt

答案 1 :(得分:1)

尝试使用{}转义\。使用cat是多余的。

grep '[a-fA-F0-9]\{32\}' myfile.txt > only_lines_with_hashes.txt