0
開始パターンと終了パターン内のパターンを見つけて修正して、複数のファイルを更新したいと考えています。 これがawk/sedで実現できる場合、私はステップを解消しています。開始パターンと終了パターン内のパターンを見つけて修正してファイルを更新する
- 「startpat」と「endpat」内の文字列の出現を検索
- は、例えば、インスタンスの文字列を変更(開始と終了の間の線をキャプチャ): 更新「SSS:CCC」 ':DDD SSS' アップデート 'BRR:MMM' 'BRR:REL/CCC' にする
- は今ステップ2.
- からアップデート列と 'endpat' から 'startpat' から行の新しいセットを作成します'---'の後にファイルの先頭に追加します。 「:AAA SSS」と「BRR:REL/AAA」
注:最も重要な維持たいと思い、それが文字列に一致した場合
入力ファイル形式(ファイルの解析中にPSコメント行//
を無視する):処理後の
---
- startpat: // Startpat - make this line inclusive
...
sss: ccc // pattern to be modified
ppp: 'vvv'
pname: 'vvv'
brr: 'mmm' // pattern to be modified
jdk: jdk8
jdks:
- jdk8
- jdk7
file:
- test:
exec: 'input'
...
- startpat: // Endpat - make this line exclusive
予想される出力:
---
- startpat:
sss: ddd
ppp: 'vvv'
pname: 'vvv'
brr: 'mmm'
jdk: jdk8
jdks:
- jdk8
- jdk7
file:
- test:
exec: 'input'
- startpat: // Startpat
....
sss: ccc
ppp: 'vvv'
pname: 'vvv'
brr: 'mmm'
jdk: jdk8
jdks:
- jdk8
- jdk7
file:
- test:
exec: 'input'
...
- startpat: // Endpat
スクリプトのどの部分が明確ではないでしょうか? – slitvinov
@askbコメントをいくつか追加しました。 http://manpages.ubuntu.com/manpages/precise/man1/original-awk.1.html – slitvinov
Awkを学ぶ最も良い方法はArnold RobbinsのEffective Awk Programming、第4版です。 –