![使用 awk 和条件比较两个文件](https://linux22.com/image/143635/%E4%BD%BF%E7%94%A8%20awk%20%E5%92%8C%E6%9D%A1%E4%BB%B6%E6%AF%94%E8%BE%83%E4%B8%A4%E4%B8%AA%E6%96%87%E4%BB%B6.png)
我正在准备一个脚本来根据标准配置检查 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 不匹配的行