我有这个非常大的文本文件3GB,我只需要处理那些具有MD5哈希的行。我只希望在取出那些拥有MD5的线后,文件要短得多。我在想的是做这样的事情:
$cat myfile.txt | grep '[a-fA-F0-9]{32}' > only_lines_with_hashes.txt
由于
答案 0 :(得分:3)
grep
默认使用BRE。那些通常不包括{n}
,但我相信Gnu grep会接受转义版本,试试
grep '[[:xdigit:]]\{32\}' myfile.txt > hashes.txt
或者通过-E
grep -E '[[:xdigit:]]{32}' myfile.txt > hashes.txt
答案 1 :(得分:1)
尝试使用{}
转义\
。使用cat
是多余的。
grep '[a-fA-F0-9]\{32\}' myfile.txt > only_lines_with_hashes.txt