星号打印,将一行和一个字符之间的所有元素都进行sed

问题描述 投票:0回答:2

我想知道如果使用sed,可以在一行和一个字符之间打印所有元素。例如,如果我有一个像这样的文件

    { 
      hello
      notzilla
      art
    }
    {
      no
      yes
      no
    } 

我要打印三个“不,是,不”。为此,我要开始查看第6行并在}处停止主要问题是,我不知道可以有多少{},这是因为我不能只在两个字符之间打印,例如sed -n '/^pattern1/,/^pattern2/p' inputfile.txt

如果无法使用sed,请告诉我要去的地方。

shell sed output character
2个回答
0
投票

[如果您要查找行号并检查{,然后尝试以下操作,如果您对awk没问题。

awk '/}/ && found{found=""} FNR==6 && $0~/{/{found=1;next}  found' Input_file

0
投票

您可以混合使用sed中指定“地址”的方式:

sed -n '6,/}/p'

它显示“从第6行开始打印,在包含}的行停止。”

© www.soinside.com 2019 - 2024. All rights reserved.