印刷されたファイルのタイトルと比較

印刷されたファイルのタイトルと比較

diff結果が出たときに列の上部にファイル名を出力する方法があるかどうか疑問に思います。これまでは理解しています。

diff -a --suppress-common-lines -y output_main.txt output_compare.txt
XXX Version X.X(X)                                    | YYY Version Y.Y(Y)
 ip address 10.10.88.50 255.255.255.254               |  ip address 10.10.89.50 255.255.255.254

うまくいくのは次のとおりです。

 diff -a --suppress-common-lines -y output_main.txt output_compare.txt
    output_main.txt                                       output_compare.txt
========================                                  =======================
    XXX Version X.X(X)                                    | YYY Version Y.Y(Y)
     ip address 10.10.88.50 255.255.255.254               |  ip address 10.10.89.50 255.255.255.254

答え1

あなたのリクエストに似た内容があります。

$ diff -c output_main.txt output_compare.txt
*** output_main.txt 2019-11-02 16:46:28.678377910 +0100
--- output_compare.txt  2019-11-02 16:46:27.770423548 +0100
***************
*** 1,2 ****
! XXX Version X.X(X)
!  ip address 10.10.88.50 255.255.255.254
--- 1,2 ----
! YYY Version Y.Y(Y)
!  ip address 10.10.89.50 255.255.255.254

答え2

少し変ですが、好きなように動作します...

$ diff -a -y --suppress-common-lines <(echo output_main.txt; cat output_main.txt) <(echo output_compare.txt; cat output_compare.txt) | sed 2i=============================================================================
output_main.txt                             |   output_compare.txt
===============================================================================
XXX Version X.X(X)                          |   YYY Version Y.Y(Y)
 ip address 10.10.88.50 255.255.255.254     |    ip address 10.10.89.50 255.255.255.254

答え3

私は新機能を作ります:

mydiff(){
    printf '%.30s%65s\n' "$1" "$2" "================" "===================";
    command diff -y "$1" "$2"
}

この値は、65次の事実に由来します。

'--side-by-side'('-y') オプションは並列形式を選択します。並列出力ラインは2つの入力ラインで構成されているため、出力は通常よりも広いです。通常、130の印刷列は既存のプリンタラインに収まります。

オプションで列の幅を変更できます-W

出力:

$ mydiff output_main.txt   output_compare.txt 

output_main.txt                                       output_compare.txt
================                                      ===================
XXX Version X.X(X)                                    | YYY Version Y.Y(Y)
 ip address 10.10.88.50 255.255.255.254               |  ip address 10.10.89.50 255.255.255.254

関連情報