0

我有这个非常大的 3GB 文本文件,我只需要处理那些具有 MD5 哈希的行。我希望在只删除那些具有 MD5 的行之后文件会更短。我在想的是做这样的事情:

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

谢谢

4

2 回答 2

3

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

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

或者告诉它 RE 已扩展,使用-E

grep -E '[[:xdigit:]]{32}' myfile.txt > hashes.txt
于 2013-10-09T15:47:29.627 回答
1

尝试{}使用\. 并且使用cat是多余的。

grep '[a-fA-F0-9]\{32\}' myfile.txt > only_lines_with_hashes.txt    
于 2013-10-09T15:50:16.267 回答