【发布时间】:2011-09-13 20:14:03
【问题描述】:
如何使用正则表达式和 grep 在 linux 终端的 .txt 文件中搜索出现 x 次或多次的单词,例如,在 Sample.txt 中查找所有包含 4 个或更多“和”的行。
【问题讨论】:
-
and中的hand或android算不算?
如何使用正则表达式和 grep 在 linux 终端的 .txt 文件中搜索出现 x 次或多次的单词,例如,在 Sample.txt 中查找所有包含 4 个或更多“和”的行。
【问题讨论】:
and 中的 hand 或 android 算不算?
试试这个:
egrep "and(.*?and){3}" data.txt
要匹配"and",不考虑大小写("And" 或"AND",...),但要跳过作为另一个单词(或名称)一部分的"and",请尝试:
egrep -i "\band\b(.*?\band\b){3}" data.txt
-i 使其忽略大小写,而单词边界 \b 将忽略 "Anand" 和 "Anderson" 等出现。
【讨论】:
如果您需要匹配 and 而不是 bandit,请使用以下内容:
egrep '\band\b(.+?\band\b){3}' Sample.txt
【讨论】: