将要崩溃了 awk 的 print中 难道不可以用变量么

快要崩溃了 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

------解决方案--------------------
引用:

   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"}'`

红色的行难道不可以么 我的意思就是每次用变量取特定的内容


你的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'"}'