Awk {print}与&;{print;}

Awk {print}与&;{print;},awk,Awk,我在浏览awk示例时遇到了如下情况: awk '{print;}' employee.txt 我尝试使用awk'{print}'employee.txt执行相同的操作,它给出了与前一个相同的输出 那么,谁能说出使用的意义是什么在打印后 如果要在{}块中放置多个语句,则必须使用分号分隔这些语句。如果只有一个stmt,则不需要使用分号。就像阿努巴瓦说的,你不需要把 示例: $ echo '1 2 3' | awk '{print $1;print $0}' 1 1 2 3 请注意,每个print

我在浏览awk示例时遇到了如下情况:

awk '{print;}' employee.txt
我尝试使用
awk'{print}'employee.txt
执行相同的操作,它给出了与前一个相同的输出


那么,谁能说出使用
的意义是什么
打印后

如果要在
{}
块中放置多个语句,则必须使用分号分隔这些语句。如果只有一个stmt,则不需要使用分号。就像阿努巴瓦说的,你不需要把

示例:

$ echo '1 2 3' | awk '{print $1;print $0}'
1
1 2 3

请注意,每个print stmt将在单独的行中打印结果。

如中所示的多个语句?你能举个例子吗是可选的。@anubhava我被多次告知,在BSD系统上它不是可选的。(我没有BSD访问权限,所以我无法以这种或那种方式验证。)@John1024,这不是真的。在NetBSD、FreeBSD和(非BSD)AIX上测试。非常清楚地说,
{print}
是有效的,所以从历史上看可能是正确的,但在很多年内都不是。上面清楚地写着“语句以分号、换行符或右大括号结尾。”@JonathanWakely,谢谢。“从现在起,我会把它们放下。”乔纳森:这是一个非常有用的信息,我希望你能把它转换成一个答案!