vi で正規表現による置き換え

vi 範囲を指定するときなどに
正規表現を使うと、効率的な
編集が可能になります
とくに、
コメントアウトなどの作業にはとても役立ちます
行頭を示す ^
ファイルの最後を示す $
現在のカーソルを示す .
これらを使い、現在のカーソル位置から
ファイルの最後まで、行頭に#を追加し
コメントアウトします
:.,$s/^/# /
unix mac linux unix windows linux
# unix mac linux unix windows linux
# unix mac linux unix windows linux
# unix mac linux unix windows linux
# unix mac linux unix windows linux
# unix mac linux unix windows linux
となりました
この方法を使うと
設定ファイルで、セキュリティ対応のため
コメントアウトするという場所が
たくさん存在するというときに
非常に役立ちます
さすがに
1行ずつ#を加えていくのは大変ですから
また、行頭が~で始まるところだけ置き換えるということもできます
これには
置き換えする範囲を正規表現で指定する機能をつかいます
構文は
:g/正規表現パターン/s/変える文字/変えたい文字/g
とします
今回の例では
行頭が linux で始まるところを変換してみます
linux fedora mac
windows mac win
linux fedora android
mac win ubuntu
debian redhat knopix
backtrack vine
~
というファイルを変更します
:g/^linux/s/linux/redhat enterprize/g
を実行すると
redhat enterprize fedora mac
windows mac win
redhat enterprize fedora android
mac win ubuntu
debian redhat knopix
backtrack vine
となりました

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です