查找以awk中的字符串分隔的记录中的最小值和最大值

时间:2016-02-02 02:29:43

标签: awk

使用这样的文件:

line0   200     1500
line1   750     1000
line2   600     1700
line3   150     1100
line4   400     1800
line5   100     1900
line6   950     1200
line7   250     1400

...我使用此脚本找到第二列中的最小值和第三列中的最大值:
awk '{if(min==""){min=$2;max=$3};if($3>max){max=$3};if($2< min){min=$2}} END {print min,max}' file

我会很感激帮助做同样的事情,但现在对于由&#34; YYYY&#34;分隔的每组线路表示感谢。和&#34; XXXX&#34;在与以下相同的文件中:

YYYY
line0   200     1500
line1   750     1000
line2   600     1700
line3   150     1100
line4   400     1800
line5   100     1900
XXXX
YYYY
line6   950     1200
line7   250     1400
line8   200     2500
line9   350     2000
XXXX
YYYY
line10  500     2700
line11   50     2100
line12  300     2800
line13  700     2900
line14  400     2200
line15  300     2400
XXXX

所需的输出是:

100 1900
200 2500
50  2900

1 个答案:

答案 0 :(得分:0)

[HttpPost] public ActionResult Create(VMUsers vmModel) { if (!IsNameValid(vmModel.InsertUser.FullName) { ModelState.AddModelError("InsertUser.FullName", "Fullname exists"); } if (!ModelState.IsValid) { return View(vmModel); } // save and redirect } 救援!

awk

而不是END块在块之后打印结果。如果您知道数字的范围,您可以指定超出范围值的最大值和最小值,或者更常见的空字符串,如上所述。