[Linux] regexp sur une variable ?
Résolu/Fermé
Swiss Knight
Messages postés
1956
Date d'inscription
samedi 22 novembre 2008
Statut
Membre
Dernière intervention
27 juillet 2016
-
22 nov. 2012 à 22:51
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 - 23 nov. 2012 à 14:03
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 - 23 nov. 2012 à 14:03
A voir également:
- [Linux] regexp sur une variable ?
- Diskinternals linux reader - Télécharger - Stockage
- Linux mint 32 bits - Télécharger - Systèmes d'exploitation
- Linux live usb creator - Télécharger - Outils Internet
- Backtrack linux - Télécharger - Sécurité
- R-linux - Télécharger - Sauvegarde
2 réponses
Utilisateur anonyme
22 nov. 2012 à 23:03
22 nov. 2012 à 23:03
salut,
en effet, grep est un outil de recherche/sélection, pas de manipulation.
donc, oui, avec sed, awk, ...
on peut aussi bidouiller une fonction en bash, ksh, zsh.
sh, par contre, devra faire appel à des programmes externes.
en effet, grep est un outil de recherche/sélection, pas de manipulation.
donc, oui, avec sed, awk, ...
on peut aussi bidouiller une fonction en bash, ksh, zsh.
sh, par contre, devra faire appel à des programmes externes.
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 422
22 nov. 2012 à 23:23
22 nov. 2012 à 23:23
Salut,
En espérant avoir compris ta demande...
En espérant avoir compris ta demande...
$ mavariable="chaine de caractère 134 1 t231saluz" $ echo ${mavariable} chaine de caractère 134 1 t231saluz $ echo ${mavariable/134/256} chaine de caractère 256 1 t231saluz $ echo ${mavariable//a/A} chAine de cArActère 134 1 t231sAluz $ echo ${mavariable^^a} chAine de cArActère 134 1 t231sAluz $
Swiss Knight
Messages postés
1956
Date d'inscription
samedi 22 novembre 2008
Statut
Membre
Dernière intervention
27 juillet 2016
110
23 nov. 2012 à 12:52
23 nov. 2012 à 12:52
Salut, la question était simple, j'aimerai en gros m'exercer à faire des regexp sans devoir à chaque fois ouvrir un fichier, écrire dedans, et le sauver, et l'effacer à la fin.
Donc faire ça dans une variable c'ést l'idéal.
Tes solutions fonctionnement bien, mais dès qu'on fait appel à des groupes de caractères, par exemple s/.*\([0-9][0-9]*\).*/ \1/ ça ne fonctionne plus :(
Donc faire ça dans une variable c'ést l'idéal.
Tes solutions fonctionnement bien, mais dès qu'on fait appel à des groupes de caractères, par exemple s/.*\([0-9][0-9]*\).*/ \1/ ça ne fonctionne plus :(
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 422
23 nov. 2012 à 13:10
23 nov. 2012 à 13:10
Les shells ont vite leurs limites et les outils tels que sed, awk, etc. deviennent LA solution...
Sinon plutôt qu'un echo et un pipe, du moins avec bash, tu peux aussi faire comme ça :
Sinon plutôt qu'un echo et un pipe, du moins avec bash, tu peux aussi faire comme ça :
sed 's/re/changement/' <<<${var}
Swiss Knight
Messages postés
1956
Date d'inscription
samedi 22 novembre 2008
Statut
Membre
Dernière intervention
27 juillet 2016
110
23 nov. 2012 à 13:27
23 nov. 2012 à 13:27
Tiens j'avais vu un triple chevron...
C'est une bonne habitude à prendre de mettre les noms de variables entre accolades comme ça ?
Je veux dire, ça ne changera jamais rien de les mettre entre accolades que sans accolades ? Ou y a-t-il une différence utile et nécessaire de temps en temps ?
C'est une bonne habitude à prendre de mettre les noms de variables entre accolades comme ça ?
Je veux dire, ça ne changera jamais rien de les mettre entre accolades que sans accolades ? Ou y a-t-il une différence utile et nécessaire de temps en temps ?
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 422
23 nov. 2012 à 13:45
23 nov. 2012 à 13:45
C'est une bonne habitude à prendre de mettre les noms de variables entre accolades comme ça ?
Oui !
Je veux dire, ça ne changera jamais rien de les mettre entre accolades que sans accolades ? Ou y a-t-il une différence utile et nécessaire de temps en temps ?
Le principal problème se situe au niveau de la concaténation de variables.
Oui !
Je veux dire, ça ne changera jamais rien de les mettre entre accolades que sans accolades ? Ou y a-t-il une différence utile et nécessaire de temps en temps ?
Le principal problème se situe au niveau de la concaténation de variables.
Swiss Knight
Messages postés
1956
Date d'inscription
samedi 22 novembre 2008
Statut
Membre
Dernière intervention
27 juillet 2016
110
23 nov. 2012 à 13:59
23 nov. 2012 à 13:59
bon, comme ce n'est pas demain que je risque de devoir concaténer des variables, ça devrait jouer :-)
merci !
merci !
Modifié par Swiss Knight le 22/11/2012 à 23:07
22 nov. 2012 à 23:23
en zsh, je ne sais pas si ça ne searit pas être encore plus simple.
sinon, !
23 nov. 2012 à 12:50
va très bien, merci