[Linux] regexp sur une variable ?
Résolu
Swiss Knight
Messages postés
1956
Date d'inscription
Statut
Membre
Dernière intervention
-
zipe31 Messages postés 36402 Date d'inscription Statut Contributeur Dernière intervention -
zipe31 Messages postés 36402 Date d'inscription Statut Contributeur Dernière intervention -
Salut,
Est-ce possible de s'amuser avec une regexp mais au lieu de faire ça sur un fichier, de le faire sur une variable histoire de pas encombrer le système inutilement ?
exemple :
de pouvoir faire une substitution avec une regexp sur cette chaine facilement ?!
s/RE/substitut/
je pense à sed mais ça peut être n'importe quel autre outil adapté et qui prenne en compte les regexp.
Il me semble qu'avec grep c'est pas vraiment ça.
merci.
Est-ce possible de s'amuser avec une regexp mais au lieu de faire ça sur un fichier, de le faire sur une variable histoire de pas encombrer le système inutilement ?
exemple :
$ mavariable="chaine de caractère 134 1 t231saluz"
de pouvoir faire une substitution avec une regexp sur cette chaine facilement ?!
s/RE/substitut/
je pense à sed mais ça peut être n'importe quel autre outil adapté et qui prenne en compte les regexp.
Il me semble qu'avec grep c'est pas vraiment ça.
merci.
A voir également:
- [Linux] regexp sur une variable ?
- Linux reader - Télécharger - Stockage
- Toutou linux - Télécharger - Systèmes d'exploitation
- Backtrack linux - Télécharger - Sécurité
- R-linux - Télécharger - Sauvegarde
- Linux mint 22.1 - Accueil - Linux
2 réponses
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.
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 $
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 :(
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.
en zsh, je ne sais pas si ça ne searit pas être encore plus simple.
sinon, !
va très bien, merci