Checkpoint number: ckpt.123
value1: 10
value2: 10
Checkpoint number: ckpt.234
value1: 20
value2: 25
ckpt.123,10,10
ckpt.234,20,25
awk < awk_test.txt '/ckpt/{a=$NF} /value1/{b=$NF} /value2/{c=$NF} END {printf "%s,%s,%s\n",a,b,c}'
您只能打印end
块中的数据。当然,您需要end块,但是当您到达ckpt
行并且已经积累了一些数据时,您还需要打印。这导致:
awk '/ckpt/ { if (a != "") printf "%s,%s,%s\n", a, b, c; a = $NF }
/value1/ { b = $NF }
/value2/ { c = $NF }
END { printf "%s,%s,%s\n", a, b, c }'
在示例数据上使用时,将生成:
ckpt.123,10,10
ckpt.234,20,25
或者您甚至可以使用一个函数来封装打印:
awk 'function print_it() { printf "%s,%s,%s\n", a, b, c; }
/ckpt/ { if (a != "") print_it(); a = $NF}
/value1/ { b = $NF }
/value2/ { c = $NF }
END { print_it() }'
问题内容: 这行一直有效,直到我在第二个字段中留有空格。 有没有办法让awk打印$ 2或以上的所有内容?($ 3,$ 4 ..直到我们没有更多的列了?) 我想我应该补充一点,就是我在Windows环境中使用Cygwin进行此操作。 问题答案: 将打印除第一列以外的所有内容: 将打印除第一列以外的所有列:
我有一个大约有500行信息的文本文件。 有没有什么方法可以使用awk和sed实现这一点呢?
我的集合中的每个
主要内容:PHP - 必需字段,PHP - 显示错误信息本章节我们将介绍如何设置表单必需字段及错误信息。 PHP - 必需字段 在上一章节我们已经介绍了表的验证规则,我们可以看到"名字", "E-mail", 和 "性别" 字段是必需的,各字段不能为空。 字段 验证规则 名字 必需。 + 只能包含字母和空格 E-mail 必需。 + 必需包含一个有效的电子邮件地址(包含"@"和".") 网址 可选。 如果存在,它必需包含一个有效的URL 备注 可选。多
问题内容: 只想知道它们之间的主要区别是什么?以及每种语言的功能(最好使用它)。 编辑: 不是“ vs”。就像话题,只是信息。 问题答案: 在出现的顺序,语言是,,,。 该程序是一个流编辑器,旨在将脚本中的操作应用于输入文件的每一行(或更一般而言,应用于指定的行范围)。它的语言基于Unix编辑器,尽管它具有条件等,但是很难处理复杂的任务。您可以用它创造一些小奇迹- 但要花很多钱。但是,当尝试在其权
我正在尝试向一个大约有500行的文件中添加几列,但现在让我们假设我使用的是一个有500行的文件。 我有两个命令。一个sed命令和一个awk命令