Decoupe chaine de caractere sur une position défini

Résolu/Fermé
nerdzlol Messages postés 6 Date d'inscription lundi 24 août 2015 Statut Membre Dernière intervention 27 août 2015 - 26 août 2015 à 19:08
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 - 27 août 2015 à 19:21
Bonjour,

Dans le cadre d'un script j'ai en variable des nom de serveur sous la forme:

CAS A: aa-bb2211.uuuuu.uuuu
CAS B: bb2201.uuuuu.uuuu

Pour les 2 nom différent j'ai uniquement besoin de recupéré
bb22

j'ai 2 commande a base de cut pour chacun des cas A et B
Cas A je cut le - et ce qu'il y as devant, puis je cut sur le 1er 1 et je garde ce qu'il y as devant
resultat: bb22

Cas B je cut au 0 et je garde ce qu'il y as devant
resultat: bb22

Seulement de simplifier (normal :) ) et d'avoir une seule commande sachant que dans certains cas je peux avoir aa-bb1111.uuuuu.uuuu

si je retire le préfixe aa- je ne voudrai dans tt les cas que les 4 1er caractere (c'est la forme réguliere qui existe)

Comme ca peut importe les cas particulier je garderai tj que bb22

Merci :)
A voir également:

3 réponses

dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
27 août 2015 à 08:41
hello
$ sed -r 's/^[^-]*-//; s/(.{4})(.*$)/\1/' fich
bb22
bb22
bb11
1
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
27 août 2015 à 08:57
Salut,
Dans le cadre d'un script j'ai en variable des nom de serveur sous la forme
D'où mon exemple avec l'expansion des paramètres du shell.
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
27 août 2015 à 09:20
on ne lit pas tout, c'est comme les condiions d'utilisation
$ var=aa-bb2211.uuuuu.uuuu
$ sed -r 's/^[^-]*-//; s/(.{4})(.*$)/\1/' <<<"$var"
bb22
$ var=bb2201.uuuuu.uuuu
$ sed -r 's/^[^-]*-//; s/(.{4})(.*$)/\1/' <<<"$var"
bb22
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407 > dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024
27 août 2015 à 09:25
Oui oui, je suis d'accord, c'était juste histoire de tout traiter avec le shell.

Sinon, tu connais ma passion pour sed, et du coup je ne vais pas bouder ta solution ;-))
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
27 août 2015 à 09:28
je fus étonné d'une solution sed free
0