Ho l'inizio di un copione che sto mettendo insieme per controllare gli host di Xen... questa domanda è davvero duplice. Per prima cosa ho lo snippet di codice qui sotto;
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
Quindi questo mi dà due elenchi, voglio rimuovere tutto ciò che appare in FILE002.rx dall'apparire in FILE001.rx e inviarlo a FILE003.rx.
Idealmente non avrei alcun file utilizzato in questo, ma stavo lottando per farlo funzionare cercando di catturarli in variabili.
Quindi, se possibile, sarebbe meglio eseguire lo script, confrontare l'output dei due comandi e mostrare il resto solo una volta che l'output del comando 2 è stato rimosso dal comando 1.
Uscita del comando 1;
cat /tmp/FILE001.rx 468190e5-c78b-4337-8094-20638353b470 5926bbf3-c48c-4c2a-8113-d7e58520cfe7 3f98ee14-5e60-4e9b-852a-f924ffe80791
Uscita del comando 2 (rifilato);
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
Risposta accettata:
Guarda la comm
comando. Prendi i seguenti due file
f1.txt
item1
item2
item3
item4
item5
item6
f2.txt
item1
item2
item22
item3
item4
Uscita
$ comm -23 f1.txt f2.txt
item5
item6
voce della pagina man per Comm