awk 'BEGIN {print "'"$QUERY_IMSI_END"'";
}
{
split($0,a,";")
}
END {print a[3],a[2],a[1]}'
它不会打印由QUERY_IMSI_END组成的结果数组。如何做出正确的设计?
答案 0 :(得分:0)
awk
从stdin读取它的输入。但print
将输出打印到stdout。
我想你想要这个:
echo "${QUERY_IMSI_END}" | awk -F';' '{print $3, $2, $1}'
请注意,您可以使用-F
传递与默认字段分隔符不同的字段分隔符。明确split()
是不必要的。
答案 1 :(得分:0)
QUERY_IMSI_END="Some;thing;is;wrong"
awk -F";" '{print $3,$2,$1}' <(echo $QUERY_IMSI_END)
或者如果你想将该变量传递给awk。但请记住,awk从STDIN读取它需要读取缓冲区或句柄的位置。所以你必须传递一个文件或缓冲区句柄作为输入。
awk -v Variable=$QUERY_IMSI_END -F";" '{split(Variable,array,";"); print a[3],a[2],a[1]}' file1