[shell unix] manipuler une chaine

Résolu/Fermé
jebok Messages postés 358 Date d'inscription lundi 16 mai 2005 Statut Membre Dernière intervention 23 octobre 2007 - 5 août 2005 à 10:49
jebok Messages postés 358 Date d'inscription lundi 16 mai 2005 Statut Membre Dernière intervention 23 octobre 2007 - 5 août 2005 à 13:51
Bonjour,

quelle commande UNIX permettrait de ne garder que les 6 premières et les 2 dernières lettres d'une chaine de caractères ?

Par exemple,
maChaine = 1234567890
et je veux obtenir :
maChaine2 = 12345690
A voir également:

5 réponses

jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
5 août 2005 à 11:41
Et avec "cut" tout simplement, non ?
$ var=abcdefghij
$ echo $var | cut -b "1 2 3 4 5 6 9 10"
abcdefij
$
;-))
4
sog/log>echo toto | sed -e "s/o//g"
tt
sog/log>
1
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
5 août 2005 à 11:25
Salut,

En une seule opréation je ne pense pas que ce soit possible il faudra passer par une autre commande :
expr "$maChaine" : ".*\(..\)"
Regarde aussi du côté de la commande "typeset" en kornshell :
$ typeset -L4 A=1234567890
$ echo $A
1234
$ typeset -R2 A=1234567890
$ echo $A
90

;-))
0
jebok Messages postés 358 Date d'inscription lundi 16 mai 2005 Statut Membre Dernière intervention 23 octobre 2007 51
5 août 2005 à 13:51
Merci à tous pour votre aide !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Phiphi57 Messages postés 789 Date d'inscription samedi 26 février 2005 Statut Contributeur Dernière intervention 19 juillet 2009 295
5 août 2005 à 11:06
Salut,

peut etre du coté de sed ou de awk ??
man sed
man awk

a part ca, je vois pas trop...

Phiphi
-2
jebok Messages postés 358 Date d'inscription lundi 16 mai 2005 Statut Membre Dernière intervention 23 octobre 2007 51
5 août 2005 à 11:17
salut,

en fait la commande
expr "maChaine" : "\(.......\)"

me permet de sélectionner les 6 premiers caractères de la chaine.
Mais je n'arrive pas à recuperer les 2 derniers...

Quelqu'un a une idée ?
Merci
0