需要过滤包含一个字符的所有行的文件(可重复多次),换句话说,每行需要包含至少2个唯一字符。我知道每一行只包含一个单词,每个单词都是小写的。
文件:
hello
world
pppppppp
foo
bar
iiiiiiii
blue
red
oooooooo
io
u
输出:
hello
world
foo
bar
blue
red
io
感谢。
答案 0 :(得分:2)
轻松使用grep
:
grep -vE '^\w$|^(\w)\1+$' file
这会过滤掉(-v
)所有行,这些行是(1)单个字母数字字符(^\w$
),或(2)重复至少两次的一个字母数字字符(^(\w)\1+$
)。
使用单个或重复的单个字符过滤掉行(如@janos和@WalterA的评论所示):
grep -vE '^(.)\1*$' file