【发布时间】:2014-01-23 21:23:14
【问题描述】:
我有一个如下所示的文本文件:
A B
A D
S F
D TGT
DS K
FDGFDA S
A RE
我想用一个字符(例如“X”)替换所有包含多个字符(如上面的“TGT”、“DS”、“FDGFDA”和“RE”)的字符串。
有没有办法做到这一点?看起来 sed 应该很容易做到,但我无法计算出要使用的正则表达式字符串!
【问题讨论】:
我有一个如下所示的文本文件:
A B
A D
S F
D TGT
DS K
FDGFDA S
A RE
我想用一个字符(例如“X”)替换所有包含多个字符(如上面的“TGT”、“DS”、“FDGFDA”和“RE”)的字符串。
有没有办法做到这一点?看起来 sed 应该很容易做到,但我无法计算出要使用的正则表达式字符串!
【问题讨论】:
【讨论】:
你可以这样做:
sed 's/^[[:alnum:]]\{2,\}/X/' filename
【讨论】:
感谢回答我问题的两位:我找到了另一个正则表达式的方法:
sed -i 's/[A-Z][A-Z][A-Z]*/X/g'
【讨论】:
sed -i 's/[A-Z]\{2,\}/X/g'