Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 20/11/2014, à 14: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, à 14: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, à 15: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, à 15: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, à 10: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