[Bash] Supprimer tout ce qui suit un espace dans une chaîne
Résolu
Gau36o
Messages postés
14
Statut
Membre
-
Gau36o Messages postés 14 Statut Membre -
Gau36o Messages postés 14 Statut Membre -
Bonjour,
Débutant en Bash, j'ai une chaîne de caractère stockée dans une variable.
Par exemple : maVar="ceci 001 est un exemple 5600"
Pour supprimer une occurrence stricte telle que le ceci (en incuant l'espace suivant le mot ceci) de la chaîne ci-dessus, pas de problème, je fais :
Après ce traitement, j'aimerais maintenant supprimer l'espace et tout ce qui suit cet espace, après le motif 001.
Sachant que 001 est forcément un groupe de chiffre mais d'une longueur variable (entre 2 et 6 caractères).
J'ai essayé en faisant :
Ainsi que d'autres essais, mais je n'arrive pas au résultat souhaité....
Toute aide est la bienvenue :-)
En vous remerciant d'avance !
Débutant en Bash, j'ai une chaîne de caractère stockée dans une variable.
Par exemple : maVar="ceci 001 est un exemple 5600"
Pour supprimer une occurrence stricte telle que le ceci (en incuant l'espace suivant le mot ceci) de la chaîne ci-dessus, pas de problème, je fais :
line1=${maVar#*ceci }
Après ce traitement, j'aimerais maintenant supprimer l'espace et tout ce qui suit cet espace, après le motif 001.
Sachant que 001 est forcément un groupe de chiffre mais d'une longueur variable (entre 2 et 6 caractères).
J'ai essayé en faisant :
line2=${line1#* }
Ainsi que d'autres essais, mais je n'arrive pas au résultat souhaité....
Toute aide est la bienvenue :-)
En vous remerciant d'avance !
A voir également:
- [Bash] Supprimer tout ce qui suit un espace dans une chaîne
- Supprimer rond bleu whatsapp - Guide
- Espace insécable - Guide
- Supprimer une page dans word - Guide
- Chaque paragraphe doit être espacé de 0,42 cm ou 12 pt du paragraphe qui suit - Guide
- Espace de stockage gmail plein - Guide
3 réponses
hello
ou avec un tableau
ou avec un tableau
$ maVar="ceci 001 est un exemple 5600"
$ t=($maVar)
$ echo ${t[0]}
ceci
$ echo ${t[1]}
001
Problème résolu finalement...
Si jamais ça peut aider quelqu'un...
Donc le résultat tronqué de la variable est stocké en $line2
Si jamais ça peut aider quelqu'un...
line2=$(echo $line1 | cut -d " " -f 1)
Donc le résultat tronqué de la variable est stocké en $line2
Merci pour cette réponse!
Ça me convient bien mieux comme méthode :)