使用以下Bash脚本编写将CSV文件保存到两个文件的解决方案:
#!/bin/bash
# 定义CSV文件名
filename="example.csv"
# 定义第一个文件名并写入文件头
file1="file1.csv"
echo "header1,header2,header3" > $file1
# 定义第二个文件名并写入文件头
file2="file2.csv"
echo "header1,header2,header3" > $file2
# 读取CSV文件中的行并将其写入两个文件中
while read line; do
# 从行中提取第一个字段(用于决定行的写入位置)
field1=$(echo $line | cut -d',' -f1)
# 决定行写入哪个文件
if [ $field1 == "1" ]; then
echo $line >> $file1
else
echo $line >> $file2
fi
done < $filename
该脚本将CSV文件分为两个文件。要更改此脚本以符合您的要求,请更改以下行:
然后,根据CSV文件的内容和条件更改while循环内的if语句以决定要将每行写入哪个文件中。
注意:该脚本假设CSV文件的第一个字段为1或非1。如果您的CSV文件具有不同的结构,请相应地更改字段提取和条件语句。