回答編集履歴
3
awkらしい解というのを追記。
test
CHANGED
@@ -19,6 +19,6 @@
|
|
19
19
|
別解としては、`RS`を改行以外に設定して、上記記述での「塊」単位で処理するか。
|
20
20
|
```sh
|
21
21
|
awk 'BEGIN{RS="\nend\nstart\n|\nend\n|start\n"}
|
22
|
-
/\nID:BBB\n/
|
22
|
+
/\nID:BBB\n/'
|
23
23
|
```
|
24
|
-
これはセパレーターが
|
24
|
+
これは一番awkらしい書き方かと思いますが、セパレーターの記述がちょっと直感的でないか。
|
2
微修正
test
CHANGED
@@ -18,7 +18,7 @@
|
|
18
18
|
|
19
19
|
別解としては、`RS`を改行以外に設定して、上記記述での「塊」単位で処理するか。
|
20
20
|
```sh
|
21
|
-
awk 'BEGIN{RS="end\nstart\n|end\n|start\n"
|
21
|
+
awk 'BEGIN{RS="\nend\nstart\n|\nend\n|start\n"}
|
22
22
|
/\nID:BBB\n/{print}'
|
23
23
|
```
|
24
24
|
これはセパレーターがこれでいいのかどうか。
|
1
コピペミス
test
CHANGED
@@ -19,6 +19,6 @@
|
|
19
19
|
別解としては、`RS`を改行以外に設定して、上記記述での「塊」単位で処理するか。
|
20
20
|
```sh
|
21
21
|
awk 'BEGIN{RS="end\nstart\n|end\n|start\n";ORS=""}
|
22
|
-
/
|
22
|
+
/\nID:BBB\n/{print}'
|
23
23
|
```
|
24
24
|
これはセパレーターがこれでいいのかどうか。
|