0

我有这个数据:

Values  
10  
20  
30  
40  
50  
12  
15  
18

我想要列的最大值,跳过第一行,所以我尝试了:

awk 'NR>1 || a<$1{a=$1}  END{print a}' file.txt

但它18在我预期的时候返回50。我的错误在哪里?

PS:

awk ' a<$1{a=$1}  END{print a}' file.txt

它返回Values也不好

4

2 回答 2

1

从带有标题的单列文件中获取最小值:

awk 'NR > 1 && min=="" || min > $1 { min = $1 } END { print min }' file.txt

从带有标题的单列文件中获取最大值:

awk 'NR > 1 && max < $1 { max = $1 } END { print max }' file.txt
于 2012-08-20T12:22:49.807 回答
1

您也可以通过

awk '{if ($1 >= a) a=$1} END {print a }' file.txt

并找到最小值

awk '{if ($1 <= a) a=$1} END {print a }' file.txt
于 2012-08-20T14:37:02.607 回答