用sh
编写的脚本用于比较两个不同文件的列并给出输出。
文件1的内容
9999 0 2 3
文件2的内容
SDC 4 abc 0 abx 2 cdf 3
脚本逻辑
while read Colm_1_File1 <&3 && Colm_1_File2 Colm_2_File2 <&4
do
Check_Count_File1=$Colm_1_File1
v_File_Name=$Colm_1_File2
Check_Count_File2=$Colm_1_File2
if [ "$Check_Count_File1" -eq "$Check_Count_File2" ]
then
echo "$v_File_Name:- OK"
elif [ "$Colm_1_File1" -eq "9999" ]
then
echo "$v_File_Name File Missing"
else
echo "$v_File_Name:- NOK"
fi
done 3<File1 4<File2
if
条件只能从“ 0”开始;其他任何相等的数字都不匹配。 elif
和else
的行为符合预期。
答案 0 :(得分:1)
这就是您所需要的,您的变量名Colm_1_File2
被写入了两次,因此出现了问题
while read Colm_1_File1 <&3 && read Colm_1_File2 Colm_2_File2 <&4
do
Check_Count_File1=$Colm_1_File1
v_File_Name=$Colm_1_File2
Check_Count_File2=$Colm_2_File2
if [ "$Check_Count_File1" -eq "$Check_Count_File2" ]
then
echo "$v_File_Name:- OK"
elif [ "$Colm_1_File1" -eq "9999" ]
then
echo "$v_File_Name File Missing"
else
echo "$v_File_Name:- NOK"
fi
done 3<File1 4<File2