以下是一个使用Bash脚本将两个CSV文件合并的示例代码:
#!/bin/bash
# 设置输入文件路径和输出文件路径
file1="file1.csv"
file2="file2.csv"
output="output.csv"
# 创建空白输出文件
echo "字段1,字段2,字段3" > $output
# 逐行读取文件1的内容
while IFS=',' read -r field1 field2 field3; do
# 在文件2中查找与文件1中的字段2相似的行
match=$(grep -F "$field2" $file2)
# 如果找到了匹配的行,则将文件1和文件2中的字段合并,并将结果写入输出文件
if [ -n "$match" ]; then
echo "$field1,$field2,$(echo "$match" | cut -d',' -f3)" >> $output
fi
done < $file1
请注意,在此示例中,假设CSV文件的每行由逗号分隔的三个字段组成。脚本将通过匹配文件1中的字段2与文件2中的相似字段,将两个文件合并,并将结果写入输出文件。输出文件的第三个字段将是文件2中匹配行的第三个字段。
将上述代码保存为一个名为merge_csv.sh
的文件,然后在终端中运行以下命令以执行脚本:
bash merge_csv.sh
请确保将file1.csv
和file2.csv
替换为实际的输入文件名,并将output.csv
替换为要输出的文件名。