如何过滤包含N个或更多字符的所有单词?
我想处理一个文本文件,找出所有包含超过N个字符的单词。无论是用Bash(比如grep或awk)还是Python(用正则表达式)都可以!不过,我更希望能找到最简短的解决方案。
12 个回答
2
输出长度大于5的单词,以及它们所在的行号。
awk -F ' ' '{for(i=1;i<=NF;i++){ if(length($i)>=6) print NR, $i }}' your_file
2
import re; [s for s in re.findall(r"\w+", open(filename, "r").read()) if len(s) >= N]
当然可以!请把你想要翻译的内容发给我,我会帮你用简单易懂的语言解释清楚。
14
egrep -o '[^ ]{N,}' <filename>
找到所有长度至少为 N
个字符的非空构造。如果你对“单词”感兴趣,可以试试 [a-zA-Z]
。