如何在unix中使用awk获得所需的输出
我是 awk 的新手,我遇到了一个问题。
我有一个文件:
startpoint--A
endpoint--B
startpoint--C
endpoint--D
我希望在列中输出所需的输出,以便在起始点下,我拥有所有起始变量(A,C),在端点下拥有所有结束变量(B,D)。例如:
startpoint endpoint
A B
C D
我怎样才能用 awk 来完成这个任务?
I'm new to using awk, and I'm stuck on a problem.
I have a file:
startpoint--A
endpoint--B
startpoint--C
endpoint--D
I want the output as desired in a column so that under startpoint, I have all the start variables(A,C) and under endpoint all the end varibles(B,D). For example:
startpoint endpoint
A B
C D
How can I accomplish this with awk?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
据推测,您的数据文件会交替使用
startpoint
和endpoint
行。在这种情况下,您只需保存最近的起点
,并在遇到终点
时将它们打印出来。Presumably your data file alternates
startpoint
andendpoint
lines. In that case you can just save the most recentstartpoint
and print them both out when you encounter anendpoint
.不需要 awk,
cut
和paste
就可以了:我假设所有数据都是“格式良好”的,端点紧跟在起点之后。
Don't need awk,
cut
andpaste
will do:I assume that all you data is "well-formed", with an endpoint immediately following a startpoint.