我有一个包含abc.csv
以下内容的文件。
a6caa290d03ae75dd5f3bf9214f0b523;CO.jar,a6caa290d03ae75dd5f3bf9214f0b523;CO.jar,
a1a5bf1547f50feea4120290343f89e4;Common.jar,a1a5bf1547f50feea4120290343f89e4;Common.jar,
1264897ea44d85c3f0dba127ff02f514;DA.jar,1264897ea44d85c3f0dba127ff02f514;DA.jar,
e77834d4ba2a4193b94fee9470a458a4;FW.jar,e77834d4ba2a4193b94fee9470a458a4;FW.jar,
我需要逐行读取文件,并比较之前和之后的值。,
如果两者相等,则SUCCESS
在该行的同一端写入,否则FAILURE
在该行的同一端写入。
我尝试了以下。
for I in `cat abc.csv`
do
VAR1=`echo $I | awk -F"," {'print ${1}'}
VAR2=`echo $I | awk -F"," {'print ${2}'}
if [ ${1} == ${2} ]
then
..
fi
done
我不确定如何添加SUCCESS
或FAILURE
在每行末尾。知道如何做到这一点!
尝试这个,
for I in `cat abc.csv`
do
var1=`echo "$I" | awk -F "," '{print $1}'`
var2=`echo "$I" | awk -F "," '{print $2}'`
if [ $var1 == $var2 ]; then
sed -i 's/'$var1','$var2'/'$var1','$var2',SUCCESS/' abc.csv
else
sed -i 's/'$var1','$var2'/'$var1','$var2',FAIL/' abc.csv
fi
done
和一个班轮:
echo "`awk -F"," '{ if($1 == $2) {print $1","$2",SUCCESS"} else {print $1","$2",FAILURE"} }' abc.csv`" > abc.csv
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句