【发布时间】:2015-06-14 02:33:49
【问题描述】:
我有一个给定的文件:
application_1.pp
application_2.pp
#application_2_version => '1.0.0.1-r1',
application_2_version => '1.0.0.2-r3',
application_3.pp
#application_3_version => '2.0.0.1-r4',
application_3_version => '2.0.0.2-r7',
application_4.pp
application_5.pp
#application_5_version => '3.0.0.1-r8',
application_5_version => '3.0.0.2-r9',
我希望能够读取此文件并搜索字符串
".pp"
找到该字符串后,它将该行添加到变量中并存储。 然后它读取文件的下一行。如果遇到前面有 # 的行,它会忽略它并移至下一行。
如果遇到不包含“.pp”且不以 # 开头的行,则应在新文件中最后存储的变量旁边打印出该行。
输出如下所示:
application_1.pp
application_2.pp application_2_version => '1.0.0.2-r3',
application_3.pp application_3_version => '2.0.0.2-r7',
application_4.pp
application_5.pp application_5_version => '3.0.0.2-r9',
我想用 awk 来实现。如果有人知道如何做到这一点并且这是一个简单的解决方案,如果他们可以与我分享,我会很高兴。如果它更复杂,那么了解 awk 中我需要了解哪些内容以了解如何执行此操作(数组、变量等)会很有帮助。甚至可以用 awk 实现还是需要其他工具?
谢谢,
【问题讨论】: