Time is More Important Than Money

SEが家事の自動化に挑戦するブログ

windows dosで正規表現の置換が実行可能なツールをつくりました

こんにちは。

 

先日仕事でIT運用系ツールをつくりたいと言われました。

正規表現の置換を実行するバッチを組みたいようで、

powershell使えたら、1行で済むのですが、

運用制限があり使えないらしい。。。。 

そこでvbsでツールを作りました。

 vbsでしたらwindows dosからコマンドで実行可能だからです。

使ってみたら、そこそこ便利だったので公開しようと思い

ブログにのせてみることにしました。

 

ツールの配置リンク

ツールは下記にアップしています。

GitHub - defmementomori/20170307_vbs_windows_regex

 

使い方

簡単に使い方を紹介します。

詳しいところはサンプルも載せていますので

readmeを見てみてください。

----------------------------------------------------------------------

ツールを配置し、dosで下記のコマンドを実行します。

 cscript regex.vbs "引数1" "引数2" "引数3"

 

 引数1:置換対象ファイルのフルパス
 引数2:書き換え前の文字列(正規表現可能)
 引数3:書き換え後の文字列
 注意 :引数は"で囲ってください

----------------------------------------------------------------------

 

具体例

readmeのサンプルで紹介していますが、

下記のような使い方ができます。

 

●上の例

IP部分を「xxx.xxx.xxx.xxx」に置換
cscript regex.vbs ".\sample\sample3.txt"  "\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}" "xxx.xxx.xxx.xxx"

 

●下の例

行頭が文字列「A」の行のIP部分を「xxx.xxx.xxx.xxx」に置換
cscript regex.vbs ".\sample\sample5.txt"  "^(A\t.*?\t).*" "$1xxx.xxx.xxx.xxx"

f:id:defmementomori:20170317204724p:plain