可以使用diff命令来比较两个CSV文件,并使用awk来处理结果以突出显示差异。以下是一个示例脚本:
#!/bin/bash
# 比较两个CSV文件
diff_output=$(diff -U0 file1.csv file2.csv)
# 处理diff命令的输出
echo "$diff_output" | awk '
/^-/{ printf "\033[0;31m%s\033[0m\n", $0 } # 突出显示删除的行
/^\+/{ printf "\033[0;32m%s\033[0m\n", $0 } # 突出显示添加的行
/^ /{ printf "%s\n", $0 } # 显示未更改的行
'
这个脚本将输出分为三个部分:删除的行,添加的行和未更改的行。对于删除的行,使用红色突出显示;对于添加的行,使用绿色突出显示。未更改的行以正常文本显示。将脚本保存到文件中并运行,以比较“file1.csv”和“file2.csv”文件的差异。