我有一个包含一些值的数组。我必须检查值并相应地移动。这是我的代码。
var=$EOR
if [ "${arr[0]}" != "NUMBER" ];
then
FIELD1=`echo $var | awk 'BEGIN { f="'"'"'" } {split($0,x,/@#/); printf "%s\n", f x[1] f}'` #output: 'field1'
else
FIELD1=`echo $var | awk '{ split($0,x,"@#"); print x[1]}'`
fi #output: field1
因此,如果位置0的数组不是NUMBER
,则文件的第一个字段将写在引号之间,否则不会。问题是似乎只采用第一个条件而输出为'field1'
,尽管第一个数组值是NUMBER
。有什么问题?