用多个字符替换字符串

时间:2014-01-23 13:15:49

标签: regex replace sed

我有一个如下所示的文本文件:

A B
A D
S F
D TGT
DS K
FDGFDA S
A RE

我想用一个字符(例如“X”)替换所有带有多个字符的字符串(例如上面的“TGT”,“DS”,“FDGFDA”和“RE”)。

有办法做到这一点吗?似乎sed应该很容易做到,但我无法弄清楚用于执行它的正则表达式字符串!

3 个答案:

答案 0 :(得分:2)

这是正则表达式:

\w{2,}

Regular expression visualization

Debuggex Demo

答案 1 :(得分:2)

你可以这样做:

sed 's/^[[:alnum:]]\{2,\}/X/' filename

答案 2 :(得分:1)

感谢两位回答我问题的人:我找到了另一种正则表达方式:

sed -i 's/[A-Z][A-Z][A-Z]*/X/g'