Tengo los inicios de un script que estoy armando para verificar los hosts Xen... esta pregunta es doble realmente. En primer lugar, tengo el siguiente fragmento de código;
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
Así que esto me da dos listas, quiero eliminar todo lo que aparece en FILE002.rx para que no aparezca en FILE001.rx y enviarlo a FILE003.rx.
Idealmente, no usaría ningún archivo en esto, pero estaba luchando para que funcionara tratando de capturarlos en variables.
Entonces, si es posible, sería mejor ejecutar el script, comparar la salida de los dos comandos y solo mostrar el resto una vez que la salida del comando 2 se haya quitado del comando 1.
Salida del comando 1;
cat /tmp/FILE001.rx 468190e5-c78b-4337-8094-20638353b470 5926bbf3-c48c-4c2a-8113-d7e58520cfe7 3f98ee14-5e60-4e9b-852a-f924ffe80791
Salida del comando 2 (recortado);
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
Respuesta aceptada:
Mire el comm
dominio. Tome los siguientes dos archivos
f1.txt
item1
item2
item3
item4
item5
item6
f2.txt
item1
item2
item22
item3
item4
Salida
$ comm -23 f1.txt f2.txt
item5
item6
entrada de la página man para Comm