1和print在awk中给出不同的输出为什么?
这将打印文件每行的第二列。在这种情况下,它将打印:1和print在awk中给出不同的输出为什么?,awk,Awk,这将打印文件每行的第二列。在这种情况下,它将打印: awk -F= '{print $2}' file 请注意前导空格,因为分隔符设置为= 这: 同: awk -F= '{$2}1' file 因为动作{$2}没有任何效果:它不打印,它不更改任何变量,什么都不更改,它只计算$2的值。所以这没用。因此,该程序相当于“1”,这是一个总是计算为真的模式。由于模式的默认操作是打印行,因此这只是打印文件。这相当于: awk -F= '1' file 也许你的第二个选择是 awk -F= '{ pri
awk -F= '{print $2}' file
请注意前导空格,因为分隔符设置为=
这:
同:
awk -F= '{$2}1' file
因为动作{$2}没有任何效果:它不打印,它不更改任何变量,什么都不更改,它只计算$2的值。所以这没用。因此,该程序相当于“1”,这是一个总是计算为真的模式。由于模式的默认操作是打印行,因此这只是打印文件。这相当于:
awk -F= '1' file
也许你的第二个选择是
awk -F= '{ print }' file
否则2美元本身就没什么用了。这里1强制打印现在设置为字段2的行。您应该添加更多细节并正确设置示例格式。1导致打印整行。它是1{print$0}的缩写。这与打印$2时只打印第二个字段不同。
awk -F= '1' file
awk -F= '{ print }' file
awk -F= '{$0=$2}1'