2つのコマンドの出力差を計算しようとしていますが、単純awk
な試みが失敗するようです。これが私が試していることです:
diff $(awk '{print $3}' f1.txt | sort -u) $(awk '{print $2}' f2.txt | sort -u)
私には未知の理由のために動作しません。私はこの設定が他のコマンドの出力をキャプチャするためのものであると仮定しています$()
が、私の「diff」呼び出しはここに提供されている2つの入力を認識しません。これを行う方法はありますか?
しかし、「書き込み」権限を持たない本番デバイスにログインしているため、これら2つのコマンドの出力を別々のファイルに書き込むための確実な解決策はありません。
答え1
diff
両方のファイルの名前が必要なので、両方のファイルに両方の出力を配置して比較する必要があります。
awk '{print $3}' f1.txt | sort -u > out1
awk '{print $2}' f2.txt | sort -u > out2
diff out1 out2
ksh93
または、bash
またはを使用してzsh
プロセス置換を使用できます。
diff <(awk '{print $3}' f1.txt | sort -u) <(awk '{print $2}' f2.txt | sort -u)