#1 Le 20/11/2014, à 13:34
- jibbah
problème d'utilisation de sed avec les variable
Hola !
Encore une question de newbie, je n'arrive pas à faire fonctionner la commande sed sur une variable pour produire une autre variable. Voici ce que j'ai écrit:
variable_2="$(echo $variable_1 | sed 's/.$//')"
Je veux ici supprimer le dernier caractère de chaque ligne dans ma variable_1. J'ai consulté plusieurs postes, essayé plusieurs modifications, mais je bloque.
Merci pour votre aide!
Hors ligne
#2 Le 20/11/2014, à 13:49
- pingouinux
Re : problème d'utilisation de sed avec les variable
Bonjour,
$ variable_1='12345
67890
abcde'
$ variable_2=$(echo "$variable_1" | sed 's/.$//'); echo "$variable_2"
1234
6789
abcd
# ou bien
$ variable_2=$(sed 's/.$//' <<<"$variable_1"); echo "$variable_2"
1234
6789
abcd
Hors ligne
#3 Le 20/11/2014, à 14:08
- jibbah
Re : problème d'utilisation de sed avec les variable
Encore un problème de guillemets, merci beaucoup!
Hors ligne
#4 Le 20/11/2014, à 14:28
- pingouinux
Re : problème d'utilisation de sed avec les variable
Et voici une méthode plus folklorique (on inverse chaque ligne, on en supprime le 1er caractère, et on inverse de nouveau) :
variable_2=$(rev <<<"$variable_1" | cut -c2- | rev)
Hors ligne
#5 Le 21/11/2014, à 09:17
- credenhill
Re : problème d'utilisation de sed avec les variable
hello
en shell
$ var=abcd$'\n'1234$'\n'efgh$'\n'5678; echo "$var"
abcd
1234
efgh
5678
$ v="${var//?$'\n'/$'\n'}"; v="${v%?}"; echo "$v"
abc
123
efg
567
Hors ligne