以下是我的csv文件
联系人Id,客户代码,开户代码,银行BSB,银行ID 2222222220,222222222220,100,084004,fjksanfjkdsksdnfnkjsnQ== 33333330,333333333333,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值=‘客户代码’。
即使忽略了头,下一行的第一个值也会附加有1st。
这里有人能帮我(不用awk命令)吗?谢谢。
发布于 2020-05-15 14:14:00
想到的第一件事是使用一个简单的控制变量跳过第一次迭代,前提是文件始终包含一个必须作为第一行忽略的头。
在循环中的第一个if语句之前添加以下内容:
if [ -z "$HEADER_DONE" ]; then
HEADER_DONE=1
continue
fihttps://stackoverflow.com/questions/61820864
复制相似问题