Hatena::ブログ(Diary)

ヤマモトの日記 このページをアンテナに追加 RSSフィード

2017-08-05

シェル正規表現エスケープについてのメモ

# bash特殊文字エスケープ

bashでは、以下の文字特殊意味を持つ

; & ( ) | ^ < > ? * [ ] $ ` ' " \ ! { } 改行 タブ スペース

これらの文字普通文字として記述したい場合には、エスケープする。

エスケープする方法は3通りある

\ 直後の1文字エスケープする

'' 囲まれた文字列文字はすべて普通文字解釈される

"" 囲まれた文字列内の $ ` \ 以外の文字普通文字解釈される。囲まれた文字列内の \ は、 \ の直後に $ ` \ がある場合以外普通文字解釈される。

# 正規表現、基本と拡張エスケープ

基本でグループ化のために使うカッコはエスケープ必要拡張では不要

基本には+ ? |がない。+は{1,}、?は{0.}で代用可。|はどうしようもない。が、GNUだと基本でも\|が使えるとのこと。

基本正規表現採用しているコマンド等:grep sed vim

拡張:egrep awk

特殊文字普通文字として書きたいときエスケープ必要

基本: , [ \ * ^ $

拡張: 基本の6文字に加え ( ) + ? { |

使い分けのヒント

基本:シェルスクリプト向き。シェル特殊文字を使う時にエスケープ必要だけど、エスケープ必要文字種が少ないか

拡張コマンドライン向き。簡単に書けるから

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/yama__moto/20170805/1501909860