2

ディレクトリに何千ものファイルがあり、各ファイルには、キーワードDEFINEで始まりセミコロン ( ;) で終わる定義済み変数の数が含まれています。このキーワード (含む) の間のデータのすべての出現箇所をターゲット ファイルにコピーしたいと考えています。

例: 以下は、テキスト ファイルの内容です。

/* This code is for lookup */
DEFINE variable as a1 expr= extract (n123f1 using brach, code);

END.

DEFINE上記の内容から、で始まり、で終わるセクション;をターゲットファイルにコピーしたいだけです。つまり、出力は次のようになります。

DEFINE variable as a1 expr= extract (n123f1 using brach, code);

これは、何千ものスクリプトと複数回の出現に対して行う必要があります。助けてください。

ありがとうございました。提供されたコードは機能しますが、文全体が 1 行にあるが、データが 1 行にあると想定されていない場合に限り、以下のように複数行に広がっています。

/* This code is for lookup */
DEFINE variable as a1 expr= if branchno > 55
then
extract (n123f1 using brach, code)
else
branchno = null
;

終わり。

コードも上記の方法で、すべてのデータをキャプチャする必要がありDEFINE、セミコロン ( ;) の間のすべてのデータをキャプチャする必要があり;ます。これがパターンです。

4

3 に答える 3

2

あなたが望むように聞こえますgrep(1)

grep '^DEFINE.*;$' input > output
于 2013-10-17T18:50:58.827 に答える