我需要一些帮助来使用Shell脚本读取和更新csv文件。我写了下面的代码来读取csv文件,它工作正常。
#!/bin/sh
#This script is to read the excel data
IFS=","
echo "Starting to read csv"
i=1
while read f1 f2
do
test $i -eq 1 && ((i=i+1)) && continue
echo "tenantID is :$f1"
echo "status is :$f2"
#The below command will update the schema with data
java -Xmx512m -XX:MaxPermSize=128m -jar biz.jar -install -readers=seed - delegator=default#$f1
done < TenantId.csv
echo "end of file "
上面的代码工作正常。即它读取csv文件并将tenantID传递给java arg。完成java处理后,我想用一些值更新状态(f2)。同样在上面的代码中,空行也在执行。我想知道如何只处理数据存在的行。请让我知道如何实现同样的目标。
先谢谢
答案 0 :(得分:1)
while read f1 f2
do
test $i -eq 1 && ((i=i+1)) && continue
[ -z "$f1" ] && continue
echo "tenantID is :$f1"
echo "status is :$f2"
#The below command will update the schema with data
java -Xmx512m -XX:MaxPermSize=128m -jar biz.jar -install -readers=seed - delegator=default#$f1
echo $f1, XXX >> TenantIdOut.csv
done < TenantId.csv
添加了2行代码: