【发布时间】:2018-01-16 04:16:32
【问题描述】:
我有一个字符串
ATOM 2448 N LEU 301 -6.821 36.580 65.884 1.00 19.70 O
这里我需要用 NHE 替换第三列中的任何术语(总是等于树大写字母)。
我尝试使用
sed-e 's/[[:upper:]][[:upper:]][[:upper:]]/NHE/g'
但它也替代了第一列中的世界
NHEM 2448 N NHE 301 -6.821 36.580 65.884 1.00 19.70 O
如何要求 sed 只替换仅由 3 个 any 字母组成的单词(不超过 3 个)?
谢谢!
【问题讨论】:
-
awk '{$4="NHE"; print}' file? -
@Cyrus,这是一个很好的答案。它会破坏输入的格式。 OP 可以决定这是否有问题。