2021年3月10日水曜日

gawk awk 正規表現 エスケープ sed gsed

 正規表現メモ

gawk 正規表現


\w
これは単語を構成する任意のキャラクタ、つまり 文字、数字、それとアンダースコアにマッチする演算子である。 これは [[:alnum:]_] の簡潔な表現とみなして良い。
\W
これは単語を構成する要素にならない任意のキャラクタにマッチする 演算子である。これは [^[:alnum:]_] の簡潔な表現とみなして良い。
\<
これは単語の先頭にある空文字列にマッチする演算子である。 例えば、/\<away/`away'にマッチするが、 `stowaway'にはマッチしない。
\>
これは単語の末尾にある空文字列にマッチする演算子である。 例えば、/stow\>/`stow'にマッチするが、 `stowaway'にはマッチしない。
\y
これは単語の先頭、あるいは末尾の空文字列とマッチする演算子である (つまり語の区切りとマッチするということである)。 例えば、`\yballs?\y'は独立した単語として `ball' にも `balls'にもマッチする。注意! 他のGNU softwareは単語の区切りに\bを使うらしい。
\B
この演算子は単語中の空文字列にマッチする。言い換えると、`\B'は二つ の単語の構成要素文字の間にある空文字列にマッチするということである。例え ば、/\Brat\B/ は`crate'にマッチする。しかし、`dirty rat' にはマッチしない。`B'は簡単にいうと`\y'の反対語である。
\( .... \) () でマッチの塊を扱う
\n  \n は n 番目の () に対応 ([a-z]*) \1*

gsed 正規表現


\< 
        “単語”の先頭。
\> 
        “単語”の末尾。
\b 
        “単語”の先頭、あるいは末尾。言い換えれば、 “語の区切り”とマッチする。
\B 
        “単語”の中にある空文字列にマッチします
\`  
        バッファの先頭。
\'  
        バッファの末尾。
\w 
        “単語”を構成するキャラクタ、つまり文字と数字それにアンダースコア のいずれか。
\W 
        “単語”を構成するキャラクタ以外のキャラクタの いずれか。
\s 
        「空白」一文字とマッチする。localeの影響に注意。
\S
        「空白以外」の一文字とマッチ。

0 件のコメント: