'\'をいつ使用すべきかについて非常に混乱しています。
例を考えてみましょう。
(1)
$ grep -Eh '^(bz|gz|zip)' filenames.txt
bz、gz、またはzipのいずれかで始まる結果と一致します。
(2)
$ echo "(555) 123-4567" | grep -E '^\(?[0-9][0-9][0-9]\)? [0-9] [0-9][0-9]$'
出力:(555)123-4567
- 例(1)では、括弧をエスケープするために「\」が必要ないのはなぜですか()
- 例(2)では、()をエスケープするために「\」が必要なのはなぜですか?
Ubuntuディストリビューションを使用しています。