Bashスクリプトの質問 - 2つのリストを比較して3番目のリストを作成する

Bashスクリプトの質問 - 2つのリストを比較して3番目のリストを作成する

Xenホストを確認するためのスクリプトの作成を開始しました。問題は実際には2つです。まず、次のコードスニペットがあります。

TMPFILE001=/tmp/FILE001.rx
TMPFILE002=/tmp/FILE002.rx
TMPFILE003=/tmp/FILE003.rx

xe vm-list params = uuid、is-controlドメイン| grep -B1 true | grep uuid | query awk {'print $5'} > $TMPFILE001
xe vm-list params=uuid --minimal tr ',' '\n' > $TMPFILE002

したがって、2つのリストが提供され、FILE002.rxに表示されるすべてのエントリを削除して、FILE001.rxに表示されなくなり、FILE003.rxに出力しようとします。

理想的にはその中にはどんなファイルも使用しませんが、変数にキャプチャして動作させようとします。

したがって、可能であれば、2つのコマンドの出力を比較し、コマンド1から取得した後、コマンド2の出力の残りの部分のみを表示するスクリプトを実行することをお勧めします。

コマンド1の出力。

猫/tmp/FILE001.rx
468190e5-c78b-4337-8094-20638353b470
5926bbf3-c48c-4c2a-8113-d7e58520cfe7
3f98ee14-5e60-4e9b-852a-f924ffe80791

コマンド2の出力(切り捨て)。

猫/tmp/FILE002.rx |ヘッド-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

ベストアンサー1

commコマンドを見てください。次の2つのファイルを受け取ってください

f1.txt

item1
item2
item3
item4
item5
item6

f2.txt

item1
item2
item22
item3
item4

出力

$ comm -23 f1.txt f2.txt
item5
item6

Commのマニュアルページ項目

おすすめ記事