[shell unix] manipuler une chaine

Résolu
jebok Messages postés 358 Statut Membre -  
jebok Messages postés 358 Statut Membre -
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 41342 Statut Modérateur 4 896
 
Et avec "cut" tout simplement, non ?
$ var=abcdefghij
$ echo $var | cut -b "1 2 3 4 5 6 9 10"
abcdefij
$
;-))
4
francis
 
sog/log>echo toto | sed -e "s/o//g"
tt
sog/log>
1
jipicy Messages postés 41342 Statut Modérateur 4 896
 
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 Statut Membre 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   Statut Contributeur Dernière intervention   295
 
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 Statut Membre 51
 
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