如何通过匹配shell脚本中的模式来组合两行

时间:2017-02-03 14:31:46

标签: linux scripting

我试图将两条线组合在一起。 我的数据示例是::

Hello Reach World Test
Reach me Test out .

我想把它合并为::

Output
Hello Reach World Test Reach me Test out  .i.e Only if last word matches Test and Begin matches Reach .

我正在尝试 awk' /测试$ / {printf("%s \ t",$ 0);下一个} 1'

任何人都可以让我知道如何匹配它并结合起来。

1 个答案:

答案 0 :(得分:0)

这个awk脚本是否符合您的要求:

BEGIN { flag = "0"; line = "" }
{
    if ( flag == "1" ) {
        if ( $0 ~ "^Reach" )
            print line " " $0
        else {
            print line
            print $0
        }
        line = ""
        flag = "0"
    } else {
        if ( $0 ~ "Test$" ) {
            line = $0
            flag = "1"
        } else
            print $0
    }
}