回答編集履歴
5
誤記修正
test
CHANGED
@@ -56,7 +56,7 @@
|
|
56
56
|
|
57
57
|
```
|
58
58
|
|
59
|
-
尚、`sed`コマンド自体のオプション指定の`-nr`ですが、少なくとも**GNU**版`sed`をお使いなのでしょう。`-n`は`sed`内`s`コマンド中の`p`オプション`s/置換元/置換先/p`と組み合わせることで置換した文字列のみを出力するようにしています。`-r`は拡張正規表現をスクリプト中に許すもので、本質問で言えばIPv4アドレス相当の文字列中`[0-9]{1,3}`のような範囲指定を可能としています。`-r`が無いとエラーになります。
|
59
|
+
尚、`sed`コマンド自体のオプション指定の`-nr`ですが、少なくとも**GNU**版`sed`をお使いなのでしょう。`-n`は`sed`内`s`コマンド中の`p`オプション`s/置換元/置換先/p`と組み合わせることで置換した文字列のみを出力するようにしています。`-r`は拡張正規表現をスクリプト中に許すもので、本質問で言えばIPv4アドレス相当の文字列中`[0-9]{1,3}`のような~~範囲~~繰り返し回数指定を可能としています。`-r`が無いとエラーになります。
|
60
60
|
|
61
61
|
```
|
62
62
|
|
4
誤記修正
test
CHANGED
@@ -56,7 +56,7 @@
|
|
56
56
|
|
57
57
|
```
|
58
58
|
|
59
|
-
尚、`sed`コマンド自体のオプション指定の`-nr`ですが、少なくとも**GNU**版`sed`をお使いなのでしょう。`-n`は`sed`内`s`コマンド中の`p`オプション`s/置換元/置換先/p`と組み合わせることで置換した文字列のみを出力するようにしています。`-r`は拡張正規表現をスクリプト中に許すもので、本質問で言えばIPv4アドレス相当の文字列中`[0-9]{1,3}`のような範囲指定を可能としています。`-
|
59
|
+
尚、`sed`コマンド自体のオプション指定の`-nr`ですが、少なくとも**GNU**版`sed`をお使いなのでしょう。`-n`は`sed`内`s`コマンド中の`p`オプション`s/置換元/置換先/p`と組み合わせることで置換した文字列のみを出力するようにしています。`-r`は拡張正規表現をスクリプト中に許すもので、本質問で言えばIPv4アドレス相当の文字列中`[0-9]{1,3}`のような範囲指定を可能としています。`-r`が無いとエラーになります。
|
60
60
|
|
61
61
|
```
|
62
62
|
|
3
sedのオプション"-nr"指定について追記
test
CHANGED
@@ -55,3 +55,19 @@
|
|
55
55
|
1,192.168.1.20
|
56
56
|
|
57
57
|
```
|
58
|
+
|
59
|
+
尚、`sed`コマンド自体のオプション指定の`-nr`ですが、少なくとも**GNU**版`sed`をお使いなのでしょう。`-n`は`sed`内`s`コマンド中の`p`オプション`s/置換元/置換先/p`と組み合わせることで置換した文字列のみを出力するようにしています。`-r`は拡張正規表現をスクリプト中に許すもので、本質問で言えばIPv4アドレス相当の文字列中`[0-9]{1,3}`のような範囲指定を可能としています。`-n`が無いとエラーになります。
|
60
|
+
|
61
|
+
```
|
62
|
+
|
63
|
+
GNU sed 4.4 について、man sed でのオプション説明抜粋
|
64
|
+
|
65
|
+
-E, -r, --regexp-extended
|
66
|
+
|
67
|
+
|
68
|
+
|
69
|
+
use extended regular expressions in the script (for portability
|
70
|
+
|
71
|
+
use POSIX -E).
|
72
|
+
|
73
|
+
```
|
2
表中のメタ文字"+"の記述抜け修正
test
CHANGED
@@ -22,7 +22,7 @@
|
|
22
22
|
|
23
23
|
|9|/|"/"|
|
24
24
|
|
25
|
-
|10|([0-9]+)|"0"から"9"の1文字(※第2グループ)|
|
25
|
+
|10|([0-9]+)|"0"から"9"の文字が1文字以上(※第2グループ)|
|
26
26
|
|
27
27
|
|11| .+$|1文字スペース、続いて任意の文字が1文字以上続き、行末まで|
|
28
28
|
|
1
実行例を修正
test
CHANGED
@@ -32,17 +32,17 @@
|
|
32
32
|
|
33
33
|
|
34
34
|
|
35
|
-
対象とする行データは、`::ffff:192.168.1.11 DONTCARE submit2/5
|
35
|
+
対象とする行データは、`::ffff:192.168.1.11 DONTCARE submit2/5 DONTCARE<改行>`のようなものでしょう。`sed`コマンドの部分だけを実行してみると以下のようになります。
|
36
36
|
|
37
37
|
```bash
|
38
38
|
|
39
39
|
$ cat data.txt
|
40
40
|
|
41
|
-
::ffff:192.168.1.11 DONTCARE submit2/5
|
41
|
+
::ffff:192.168.1.11 DONTCARE submit2/5 DONTCARE
|
42
42
|
|
43
|
-
::ffff:192.168.1.15 DONTCARE submit2/2
|
43
|
+
::ffff:192.168.1.15 DONTCARE submit2/2 DONTCARE
|
44
44
|
|
45
|
-
::ffff:192.168.1.20 DONTCARE submit2/1
|
45
|
+
::ffff:192.168.1.20 DONTCARE submit2/1 DONTCARE
|
46
46
|
|
47
47
|
|
48
48
|
|