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 11/07/2008, à 22:27

Le Roi Newbie

[Résolu] sed appliqué à une variable, pas sur un fichier

Salut !

Je suis en train d'essayer de faire un script, mais je bute à un endroit :

sed -e "s/&/&/g" fichier

Cette commande m'oblige à créer un fichier temporaire sur le disque pour pouvoir traiter une variable (chaîne de caractères créée par mon script).
Donc je voudrais savoir si je ne pourrais exécuter cette commande sur ma variable (= ma chaîne de caractère créée), ou bien s'il existe une autre commande équivalente pouvant s'appliquer à ma variable.

J'ai essayé des trucs du genres :

sed -e "s/&/&/g" $variable
sed -e "s/&/&/g" "$variable"

Mais en vain.
Quelqu'un pourrait-il m'éclairer ? Car j'ai plusieurs variables, ce qui m'obligerait à créer plein de fichiers temporaires...

Je vous remercie d'avance ! wink

Dernière modification par Le Roi Newbie (Le 11/07/2008, à 22:55)

Hors ligne

#2 Le 11/07/2008, à 22:32

abetsic

Re : [Résolu] sed appliqué à une variable, pas sur un fichier

Bonsoir,

essayes un

echo $ta_variable | sed -e "s/&/&/g"

Dernière modification par abetsic (Le 11/07/2008, à 22:32)

Hors ligne

#3 Le 11/07/2008, à 22:54

Le Roi Newbie

Re : [Résolu] sed appliqué à une variable, pas sur un fichier

Merci beaucoup ça marche ! big_smile

J'ai juste rajouté "-e" et des guillemets pour conserver mes sauts de ligne :

nouvelle_variable=$(echo -e "$variable" | sed -e "s/&/&/g")

Je connaissais pas cette astuce, même si elle doit être basique... je suis un 'tit débutant ! big_smile

Hors ligne

#4 Le 12/07/2008, à 10:45

Dark-Sham

Re : [Résolu] sed appliqué à une variable, pas sur un fichier

Lorsque tu passes un argument à une commande au clavier, c'est par défaut ce qu'on appelle l'entrée stdin. Pour pouvoir utiliser certaines commandes en lisant un argument d'une provenance autre que stdin, tu as l'opérateur | et l'opérateur < . | te permet de rediriger la sortie standard d'un commande (stdout) vers l'entrée stdin d'une autre commande smile L'opérateur < lui sert à importer le contenu d'un fichier dans stdin. Si on y réfléchit un peu, commande < fichier revient aussi à faire cat fichier | commande.

Voilà j'espère avoir été clair big_smile Si tu as des questions, pose les ! Ce forum est là pour ça smile

A+


Script de sauvegarde/restauration APT

Ubuntu 8.04 "Hardy Heron"
CPU : AMD Athlon XP 2800+ ; GPU : ATI Radeon 9250/9200 Series ; RAM : 2 Gigots + 512 Mégots ; Carte mère : Asus A7N8X-E Deluxe

Hors ligne

#5 Le 23/07/2008, à 14:09

Le Roi Newbie

Re : [Résolu] sed appliqué à une variable, pas sur un fichier

Merci bien pour ce petit cours, plutôt clair d'ailleurs ! smile

Hors ligne