J'ai les débuts d'un script que je suis en train de mettre en place pour vérifier les hôtes Xen… cette question est vraiment double. Tout d'abord, j'ai l'extrait de code ci-dessous ;
TMPFILE001=/tmp/FILE001.rx TMPFILE002=/tmp/FILE002.rx TMPFILE003=/tmp/FILE003.rx xe vm-list params=uuid,is-control-domain | grep -B1 true | grep uuid | awk {'print $5'} > $TMPFILE001 xe vm-list params=uuid --minimal | tr ',' '\n' > $TMPFILE002
Donc, cela me donne deux listes, je veux supprimer tout ce qui apparaît dans FILE002.rx d'apparaître dans FILE001.rx et le sortir dans FILE003.rx.
Idéalement, je n'aurais aucun fichier utilisé dans ce domaine, mais j'avais du mal à le faire fonctionner en essayant de les capturer dans des variables.
Donc, si possible, il serait préférable d'exécuter le script, de comparer la sortie des deux commandes et de n'afficher le reste qu'une fois que la sortie de la commande 2 a été retirée de la commande 1.
Sortie de la commande 1 ;
cat /tmp/FILE001.rx 468190e5-c78b-4337-8094-20638353b470 5926bbf3-c48c-4c2a-8113-d7e58520cfe7 3f98ee14-5e60-4e9b-852a-f924ffe80791
Sortie de la commande 2 (coupée);
cat /tmp/FILE002.rx | head -5 37ae6b9e-8a00-ab10-7e17-3d70ab275b9b d8208537-0d69-1332-9301-4699d194430f 1cf06668-5450-4d44-a7ba-c2c7b6bcd6b2 7d11c6e3-48ef-0e5e-c6ed-e8f2548533fd 7d3d0ba3-a6d6-d2a7-99f0-06fa74e625fa
Réponse acceptée :
Regardez le comm
commande. Prenez les deux fichiers suivants
f1.txt
item1
item2
item3
item4
item5
item6
f2.txt
item1
item2
item22
item3
item4
Sortie
$ comm -23 f1.txt f2.txt
item5
item6
entrée de la page de manuel pour Comm