回答編集履歴

4

誤記訂正

2022/01/16 12:53

投稿

otn
otn

スコア84633

test CHANGED
@@ -36,7 +36,7 @@
36
36
  通常は区切り文字として`/`を使いますが、正規表現中に`/`がたくさん出てくるなどで別の文字を使いたい場合は、先頭に`\`を書きます。**正規表現末の区切り文字には`\`を付けません。**
37
37
  `sed '\#reg#d'`
38
38
  ルールとしてはそれだけです。
39
- だし、(コマンド先頭の位置の)`:`は、sed構文上「ラベル定義」という別の意味を持っています(後述)。
39
+ た、(コマンド先頭の位置の)`:`は、sed構文上「ラベル定義」という別の意味を持っています(後述)。
40
40
 
41
41
  ```Plain
42
42
  cat FILE.txt | sed "/Reg\/Exp/d" => OK

3

補足

2022/01/16 07:38

投稿

otn
otn

スコア84633

test CHANGED
@@ -7,7 +7,7 @@
7
7
 
8
8
  ```plain
9
9
  cat FILE.txt | sed "s/Reg\/Exp//" => OK
10
- → Reg/Exp を 空文字列に置換
10
+ 区切り文字が / で、Reg/Exp を 空文字列に置換。正規表現中に区切り文字が出てくるので \ を前置
11
11
 
12
12
  cat FILE.txt | sed "s\/Reg\/Exp//" => NG。`s' コマンドが終了していません
13
13
  → 区切り文字が \ だが3つめの \ が無いのでエラー。区切り文字は3つ必要

2

補足

2022/01/16 07:36

投稿

otn
otn

スコア84633

test CHANGED
@@ -65,5 +65,5 @@
65
65
  cat FILE.txt | sed "\:Reg/Exp:d" => OK
66
66
  → 区切り文字が : で、Reg/Exp を含む行を削除
67
67
  ```
68
- 以上の説明は全部`man sed`に書いてあります。日本語manがインストールされてない場合は、https://linuxjm.osdn.jp/html/GNU_sed/man1/sed.1.html を参照。
68
+ 以上のルールは全部`man sed`に書いてあります。日本語manがインストールされてない場合は、https://linuxjm.osdn.jp/html/GNU_sed/man1/sed.1.html を参照。
69
69
 

1

誤記訂正

2022/01/16 07:28

投稿

otn
otn

スコア84633

test CHANGED
@@ -34,7 +34,7 @@
34
34
 
35
35
  `sed /reg/d`のようにコマンドの前に付けてコマンドの対象行を指定する場合は若干違います。
36
36
  通常は区切り文字として`/`を使いますが、正規表現中に`/`がたくさん出てくるなどで別の文字を使いたい場合は、先頭に`\`を書きます。**正規表現末の区切り文字には`\`を付けません。**
37
- `sed '\#reg#d'
37
+ `sed '\#reg#d'`
38
38
  ルールとしてはそれだけです。
39
39
  ただし、(コマンド先頭の位置の)`:`は、sed構文上「ラベル定義」という別の意味を持っています(後述)。
40
40