另一个 sed 问题!我有成对的核苷酸数据
1 Affx-14150122 0 75891 00 CT TT CT TT CT
按空格分割,我需要在每一对中添加一个空格,例如
1 Affx-14150122 0 75891 0 0 C T T T C T T T C T
我已经尝试过sed 's/[A-Z][A-Z]/ &/g'
和sed 's/[A-Z][A-Z]/& /g'
两者都是A-Z
替换为 ..
它永远不会像我希望的那样分割这对(它在之前或之后放置空格,或者分割所有其他对或类似的!)。
最佳答案
我认为这对您有用,但它并不完美!
echo "1 Affx-14150122 0 75891 00 CT TT CT TT CT" | \
sed 's/\(\s[A-Z]\)\([A-Z]\)/\1 \2/g'
给出
1 Affx-14150122 0 75891 00 C T T T C T T T C T
sed 's/\(\s[A-Z]\)\([A-Z]\)/\1\2/g'
匹配空白 (\s
) 大写字符 ([A-Z]
),将其放入组 (\(...\)
),然后匹配大写字符并将其存储在第二个中团体。然后该匹配被第一组 (\1
) 替换为第二组 (\2
)。
注意:
当序列长度超过 2 个字符时,此操作会失败。
关于sed - 在字符对之间插入空格 - sed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11984884/