快要崩溃了 awk 的 print中 难道不可以用变量么
本帖最后由 hanzhaoshuai 于 2013-06-04 14:38:38 编辑
for ((i=1; i<=$hang; i+=1))
do
name[$i]=`echo $result | awk -F "}{" '{print $i}'| grep "\"001\""| cut -d "," -f1| awk -F "success" '{print $2}'`
name[$i]=${name[$i]//\"/}
echo `echo $result | awk -F "}{" '{print $"$i"}'`
echo
#echo "name[$i]:"${name[$i]}
done
类似这样的代码
echo `echo $result | awk -F "}{" '{print $"$i"}'`
红色的行难道不可以么 我的意思就是每次用变量取特定的内容
AWK shell
[解决办法]
你的i是shell里的变量,不能直接中awk中使用
echo `echo $result
[解决办法]
awk -F "}{" '{print $"$i"}'`这行改为
echo `echo $result
[解决办法]
awk -v I=${i} -F "}{" '{print $"$I"}'`
就可以了,shell中的变量想中awk中使用要使用-v将这个变量传入才可以使用
[解决办法]
echo '2
[解决办法]
3
[解决办法]
5
[解决办法]
7'
[解决办法]
awk -F'
[解决办法]
' '{print $'$a'}'
[解决办法]
file=“aaa”
echo ""
[解决办法]
awk '{printf "'$file'"}'