2015-08-30 44 views

回答

2
awk -F= '{print $2}' file 

这会打印每行file的第二列。在这种情况下,它会打印:

yellow 
red 

(注意前导空格,因为分离器被设置为=)。

此:

awk -F= '{$2}1' file 

是一样的:

awk -F= '1' file 

由于动作{ $2 }没有任何的效果:它不打印,它不会改变任何变量,没有什么,它只是评估$2的价值。所以它没用。因此程序相当于'1'这是一个总是评估真实的模式。由于模式的默认操作是打印行,因此这只是打印文件。这相当于:

awk -F= '{ print }' file 
1

也许对于第二个选择,你的意思

awk -F= '{$0=$2}1' 

否则$ 2本身并不做任何事情。这里1强制打印现在设置为2的行。

相关问题