用sed替换第n个字符

问题描述:

我想用sed改变或删除每个字符串的第3个和第4个字符。用sed替换第n个字符

例如文本:

abcdefghijklmnopqrstuvxz

应转化为:

abefijmnqruv提前

感谢。

+0

好吧,但我怎么能做到这一点,而不使用了大量的点更大的位置,第17和18例如? – Mauro 2010-11-30 15:26:55

echo abcdefghijklmnopqrstuvxz | sed 's/\(..\)../\1/g' 
+0

好吧,但我怎么能做到这一点,而不用大量的点位,例如第17和第18位? – Mauro 2010-11-30 15:37:32

好吧,我得到的答案

回声abcdefghijklmnopqrstuvxz | SED的/ \(\ {4 \} \)\ {3 \}/\ 1/G'

4和图3是实施例...非常感谢

echo "abcdefghijklmnopqr" | sed -n 's/\(..\)\..\([a-z][a-z]*\)/\1\2/p' 

用另一种变体的sed

sed 's/\(.\{2\}\)\(.\{2\}\)/\1/g'