GNT sans publicité, site mobile, fonctionnalitées exclusives...

diff entre deux variables

Le
Philippe Naudin
Bonjour,

Je cherche comment faire un diff entre deux variables, quelque chose
comme :
V1="une
chaine"
V2="une
autre
chaine"

une_commande "$V1" "$V2"

Je peux bien sûr me débrouiller en écrivant une variable, du genre :
echo "$V1" > /dev/shm/V1
# en utilisant mktemp, mais c'est l'idée qui compte ici
diff /dev/shm/V1 - <<< "$V2"
rm /dev/shm/V1

mais y a t'il une solution plus élégante ?

Merci pour vos lumières !

--
Philippe
Lire les 8 réponses

Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Nicolas George
Le #23314431
Philippe Naudin , dans le message écrit :
echo "$V1" > /dev/shm/V1



C'est /tmp qui sert à ça, pas /dev/shm.
Damien Wyart
Le #23314481
* Philippe Naudin
Je cherche comment faire un diff entre deux variables, quelque chose
comme :
V1="une
chaine"
V2="une
autre
chaine"

une_commande "$V1" "$V2"



Je propose :

diff <(echo $V1) <(echo $V2)

je ne sais pas si c'est améliorable ou si ça peut avoir des
inconvénients, mais cela devrait fonctionner.

--
DW
Nicolas George
Le #23314471
Damien Wyart , dans le message a écrit :
Je propose :
diff <(echo $V1) <(echo $V2)



Pas portable. Et ton usage d'echo est risqué, mais c'est une autre histoire.
Damien Wyart
Le #23314571
* Nicolas George
Pas portable. Et ton usage d'echo est risqué, mais c'est une autre
histoire.



Je me doutais que c'était pas super propre...

Donc pas de solution sans fichier(s) temporaire(s) ?

--
DW
Philippe Naudin
Le #23314641
Le mer 27 avr 2011 19:38:06 CEST, Damien Wyart a écrit:

* Nicolas George > Pas portable. Et ton usage d'echo est risqué, mais c'est une autre
> histoire.

Je me doutais que c'était pas super propre...

Donc pas de solution sans fichier(s) temporaire(s) ?



Pourtant, ce diff me plaît beaucoup, merci Damien ! J'ai juste
protégé les variables pour conserver les sauts de ligne :
diff <(echo "$V1") <(echo "$V2")

Quels sont les risques, et n'y a t'il vraiment pas moyen de s'en
prémunir ?

--
Philippe
Publicité
Suivre les réponses
Poster une réponse
Anonyme