我希望这会把'1'放进去,而是输出'1 2 3'
echo "1 2 3" | awk "{ print $1 }"
但是,从文件运行awk代码时它确实有效(awkscript.awk包含{print $ 1}):
echo "1 2 3" | awk -f awkscript.awk
答案 0 :(得分:3)
您应该使用:
echo "1 2 3" | awk '{ print $1 }'
然后它也从命令行打印1
。在awk命令中,这是'
而不是"
。
说明:使用双引号"
变量$1
会事先展开,因为这只是一个空字符串,实际上你的命令会变成这样:
echo "1 2 3" | awk '{ print }'