인쇄된 파일 제목과 비교

인쇄된 파일 제목과 비교

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') 옵션은 병렬 형식을 선택합니다. 병렬 출력 라인은 두 개의 입력 라인으로 구성되기 때문에 출력은 평소보다 넓습니다. 일반적으로 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

관련 정보