Unix에서 두 파일 비교

Unix에서 두 파일 비교

다음 두 파일을 고려하십시오.


$ cat f1.txt
col_name        data_type       comment
name                    string
age                     int
income                  int
access_count1           int

$ cat f2.txt
col_name        data_type       comment
name                    string
city                    string
income                  int
edr                     time
access_count1           int
bcwer                   int

모든 줄에 새 값이 있을 수 있으므로 두 파일을 한 줄씩 비교하지 않고 비교해야 하며 다음을 표시해야 합니다.

  1. f2.txt의 새 값
  2. f1.txt의 업데이트된 값

나는 시도했다:


$ diff -y --suppress-common-lines f1.txt f2.txt
age                     int                                   | city                    string
                                                              > edr                     time
                                                              | bcwer                   int

읽을 수 있는 형식이 아닙니다.

답변1

-y선언에서 옵션을 제거 하면 diff다음을 얻게 됩니다.

3c3
< age                     int
---
> city                    string
4a5
> edr                     time
5a7
> bcwer                   int

불필요한 정보를 모두 원하지 않으면 grep다음과 같이 훌륭하고 깔끔한 결과를 얻을 수 있습니다.

$ diff --suppress-common-lines f1.txt f2.txt | grep -e "^[<>]"
< age                     int
> city                    string
> edr                     time
> bcwer                   int

관련 정보