1

特定のファイルで、何らかの識別子を含む (のみ) セクションを検索して印刷しようとしています。セクションは開始タグと終了タグで区切られ、複数の行にまたがっています。タスクは unix コマンドで実行する必要があります。

たとえば、次の行の場合:

start:
    blah..blah
    666
    blah blah..
end:
start:
    blah..blah
    1234
    blah blah..
end:
start:
    blah..blah
    8020
    blah blah..
end:         

「開始」で開始し、「終了」で終了するセクションを印刷したいと思います。たとえば、識別子 1234 の場合です。

start:
    blah..blah
    1234
    blah blah..
end:  

あなたの援助は大歓迎です。

4

2 に答える 2

1

これはうまくいくかもしれません(GNU sed):

sed -n '/start:/{:a;N;/end:/!ba;/1234/p}' file

コレクションに も含まれている場合は、 と の間の行を集めて印刷start:します。end:1234

于 2013-09-11T14:35:24.380 に答える