0

パターン間に印刷するためのいくつかの解決策を見てきましたが、私の問題に対応するために物事をまとめることができません. 以下に示すビュー定義を含むテキスト ファイルがあり、最初と最後の中かっこの間の定義を抽出する必要があります。注意: 印刷する必要がある開いた波括弧と閉じた波括弧が間にあります。awkまたはsedで解決策はありますか?

create view view_name 
as(select column1 as someDATE,
    column2,
    column3,
    substring(convert(char(19),(DATEadd(hh,8,column4)),121),12) as someTIME,
    from table_name
    where NAME in('test')
    and column5='something')

必要な出力:

select column1 as someDATE,
column2,
column3,
substring(convert(char(19),(DATEadd(hh,8,column4)),121),12) as someTIME,
from table_name
where NAME in('test')
and column5='something'
4

2 に答える 2

1

粗雑だが効果的:

sed -n -e '/(/,/)/p' filename | sed '1s/[^(]*(//;$s/)[^)]*$//'

編集:

(最初の解決策を修正しました。)

より洗練されていますが、ファイル全体をホールド スペースに一度にプルします。

sed -n 'H;${x;s/^[^(]*(//;s/)[^)]*$//;p;}' filename
于 2013-11-20T13:20:47.140 に答える