awk在命令行上的行为与脚本上的行为不同

awk在命令行上的行为与脚本上的行为不同,awk,Awk,我希望它能输入'1',但它会输出'1 2 3' echo "1 2 3" | awk "{ print $1 }" 你应使用: echo "1 2 3" | awk '{ print $1 }' 然后它也从命令行打印1。这是awk命令中的”,而不是“ 说明:使用双引号“变量$1会事先展开,因为这只是一个空字符串,所以实际上您的命令变成: echo "1 2 3" | awk '{ print }' echo "1 2 3" | awk '{ print }'

我希望它能输入'1',但它会输出'1 2 3'

echo "1 2 3" | awk "{ print $1 }" 你应使用:

echo "1 2 3" | awk  '{ print $1 }'
然后它也从命令行打印
1
。这是awk命令中的
,而不是

说明:使用双引号
变量
$1
会事先展开,因为这只是一个空字符串,所以实际上您的命令变成:

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