Extraire une différence entre 2 chaines
Résolu
sergio
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
J'ai 2 chaines de caractères dans 2 variables
J'aimerai en extraire la différence, comment puis-je faire ?
exemple
a="abc de fgh"
b="abc zz fgh"
je cherche a avoir "de" dans une variable c
et "zz" dans une variable d
quelqu'un a t-il une idée ?
J'ai 2 chaines de caractères dans 2 variables
J'aimerai en extraire la différence, comment puis-je faire ?
exemple
a="abc de fgh"
b="abc zz fgh"
je cherche a avoir "de" dans une variable c
et "zz" dans une variable d
quelqu'un a t-il une idée ?
3 réponses
-
hello
$ a="abc de fgh"; b="abc zz fgh"
$ readarray t <<<"$(echo $a $b | tr ' ' '\n' | sort | uniq -u)"
$ echo ${t[0]}
de
$ echo ${t[1]}
zz -
salut,
avec quel shell comptes-tu faire ça ?
en POSIX sh, ça va être coton.
en bash, j'utiliserais des tableaux, pour pouvoir parcourir leurs éléments, et ainsi les comparer.
avec awk, je ferais pareil. -
trés bien.
je n'avais jamais remarqué l'utilité du uniq -u, bien que j'utilisais souvant le sort -u.
Merci pour votre contribution
SErge