2012-04-12 45 views
2

我希望它可以把把“1”,而是它运行从文件awk的代码时输出“1 2 3”AWK行为不同的命令行不是从脚本

 
echo "1 2 3" | awk "{ print $1 }" 

然而,不工作(其中awkscript.awk包含{打印$ 1}):

echo "1 2 3" | awk -f awkscript.awk 

回答

3

你应该使用:

echo "1 2 3" | awk '{ print $1 }' 

然后它打印1也来自命令行。在awk命令中,这是'而不是"

说明:使用双引号"变量$1事先得到扩大,因为这只是一个空字符串,有效的命令变成这样:

echo "1 2 3" | awk '{ print }' 
+0

当然!谢谢 :) – 2012-04-13 07:31:26

相关问题