使用Shell脚本忽略csv文件中的第一行(标题)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Shell脚本忽略csv文件中的第一行(标题)相关的知识,希望对你有一定的参考价值。

以下是我的csv文件

联系人ID,客户代码,账单代码,银行BSB,银行ID2222222220,2222222222222220,100,084004,fjksanfjkdsksdnfnkjsnQ ==3333333330,3333333333333330,100,084789,sklsnfksnkdfnkgndfkjgn ==

这是我用来忽略标题和任何5列中没有数据的行的代码

while IFS=',' read cont_id cust_code bac bsb bid
do
    if [ "$cont_id" == "" ] || [ "$cust_code" == "" ] || [ "$bac" == "" ] || [ "$bsb" == "" ] || [ "$bid" == "" ]; then
        echo $cont_id,$cust_code,$bac,$bsb,$bid >> $SOURCE_DIR/dummyRejectedRecords.csv

    elif [ "$cont_id" == "Customer Code" ] && [ "$cust_code" == "Customer" ] && [ "$bac" == "Billing Account Code" ] && [ "$bsb" == "Bank BSB" ] &&[ "$bid" == "Bank ID" ]; then
        echo $cont_id,$cust_code,$bac,$bsb,$bid >> $SOURCE_DIR/dummyRejectedRecords.csv

    else            
        echo "Contact_Id = '"$cont_id"'"
        echo "Customer_Code = '"$cust_code"'"
        echo "Billing_Account_Code = '"$bac"'"
        echo "Bank_ID = '"$bsb"'"
        echo "Bank_BSB = '"$bid"'"
        echo ""

        #ADD YOUR PROCEDURE HERE
    fi
done < $SOURCE_DIR/dummy.csv

问题是第一行没有被忽略并将其附加到csv的1x1值上客户代码='客户代码'

即使忽略标题,也将下一行的第一个值附加到

有人可以在这里帮助我(不使用awk命令)提前感谢一吨

答案
将其添加到循环中的第一个if语句之前:

以上是关于使用Shell脚本忽略csv文件中的第一行(标题)的主要内容,如果未能解决你的问题,请参考以下文章

shell脚本:如何显示某个文件的第一行

用于删除 CSV 文件第一行的 Unix 脚本

Linux Shell 构建基本脚本

shell脚本替换A、B两个文件里面的内容

cmd去除csv首行

Shell编程—构建基本脚本