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
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

Poser une question


C'est /tmp qui sert à ça, pas /dev/shm.
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
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
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