这里有什么毛病?这里有什么毛病 - 不打印正确的记录
基于这个例子;
ls -l | awk 'BEGIN {max = 0; rec=""} {if ($5>max) max=$5; rec=$0} END {print max "\n" rec}'
max打印最大文件的大小,但rec不打印相应的记录,但只是最后一个通过。 我预计rec会包含最大文件的完整记录。
这里有什么毛病?这里有什么毛病 - 不打印正确的记录
基于这个例子;
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 }
接受这一个作为答案,因为额外的解释。 – 2014-10-04 15:46:19
变化:
if ($5>max) max=$5; rec=$0
到:
if ($5>max) { max=$5; rec=$0 }
非常感谢! – 2014-10-04 15:46:41
[不解析ls'的'输出(HTTP:// mywiki .wooledge.org/ParsingLs) – 2014-10-04 14:55:12
@Avinash Raj;非常感谢 – 2014-10-04 15:45:12
不知道为什么它是题外话。但它对我来说非常有用。 – 2014-10-05 07:27:22