Awk 这里出了什么问题;不能打印正确的记录

Awk 这里出了什么问题;不能打印正确的记录,awk,Awk,这里怎么了 基于这个例子 ls -l | awk 'BEGIN {max = 0; rec=""} {if ($5>max) max=$5; rec=$0} END {print max "\n" rec}' max打印最大文件的大小,但rec不打印相应的记录,而只打印最后一条通过的记录。 我希望rec包含最大文件的完整记录 if ($5>max) max=$5; rec=$0 相当于: if ($5>max) { max=$5; } rec=$0 它无条件地设置re

这里怎么了

基于这个例子

ls -l | awk 'BEGIN {max = 0; rec=""} {if ($5>max) max=$5; rec=$0} END {print max "\n" rec}'
max打印最大文件的大小,但rec不打印相应的记录,而只打印最后一条通过的记录。 我希望rec包含最大文件的完整记录

if ($5>max) max=$5; rec=$0
相当于:

if ($5>max) {
  max=$5;
}
rec=$0
它无条件地设置
rec

你需要:

if ($5>max) { max=$5; rec=$0 }
相当于:

if ($5>max) {
  max=$5;
}
rec=$0
它无条件地设置
rec

你需要:

if ($5>max) { max=$5; rec=$0 }
更改:

if ($5>max) max=$5; rec=$0
致:

更改:

if ($5>max) max=$5; rec=$0
致:


@阿维纳什·拉吉;谢谢,非常有趣,不知道为什么会偏离主题。但这对我来说非常有用。是的,为什么这是一个离题的话题。@Avinash Raj;谢谢,非常有趣,不知道为什么会偏离主题。但是它对我很有用。是的,为什么这是离题的。接受这个作为答案是因为额外的解释。接受这个作为答案是因为额外的解释。