這裏有什麼毛病?這裏有什麼毛病 - 不打印正確的記錄
基於這個例子;
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