使用 awk 和条件比较两个文件

使用 awk 和条件比较两个文件

我正在准备一个脚本来根据标准配置检查 db2 的配置。我正在获取文件 A 中的输出,并希望将其与文件 B 中写入的标准输出进行比较。

文件A

Diagnostic error capture level              (DIAGLEVEL) = 3
Audit buffer size (4KB)                  (AUDIT_BUF_SZ) = 0

文件B

Diagnostic error capture level              (DIAGLEVEL) = 3
Audit buffer size (4KB)                  (AUDIT_BUF_SZ) = 1000

想要awk比较行并打印如果完整行不匹配。例如,对于上面想要的输出,如:

Audit buffer size (4KB)                  (AUDIT_BUF_SZ) = 0  **Not standard**

谢谢,

答案1

尝试这个,

  awk 'FNR==NR{i[$0];next}!($0 in i)' file2 file1
  Audit buffer size (4KB)                  (AUDIT_BUF_SZ) = 0
  • i[$0]以匹配完整的线路。
  • !($0 in i)将比较并打印与 FileA 不匹配的行

相关内容