2010-11-30 9 views
1

Je veux changer ou supprimer tous les 3ème et 4ème caractères d'une chaîne avec sed.Remplacer le nième char par sed

Par exemple, le texte:

abcdefghijklmnopqrstuvxz

doit-elle être transformée en:

abefijmnqruv

Merci à l'avance.

+0

Ok, mais comment puis-je le faire sans utiliser beaucoup de points pour plus positions, 17 et 18 par exemple? – Mauro

Répondre

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

Ok, mais comment puis-je le faire sans utiliser beaucoup de points pour les plus grandes positions, 17 et 18 par exemple? – Mauro

2

Ok, je suis la réponse

écho abcdefghijklmnopqrstuvxz | sed 's/\ (. \ {4 \} \). \ {3 \}/\ 1/g'

4 et 3 sont des exemples ... merci beaucoup

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

une autre variante avec sed

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