WAKU-TAKE-A BLOG
メニューを開く
ブログ
GitHub
ツイッター
プログラム
プロフィール
Home
サクラエディタ
サクラエディタ
サクラエディターでGrep置換
私がWindowsで使っているテキスト エディタは「サクラエディター」です。かれこれ10年以上使っています。
それ以前は、[「EmEditor Free」](https://jp.emeditor.com/text-editor-features/history/emeditor-free/)を使っていましたが、巨大ファイルが読み込めず(Professionalなら大丈夫、ただし年間サブスクリプション)、「サクラエディター」になりました。 さて、「サクラエディター」のプロジェクトは[GitHub](https://sakura-editor.github.io/)に移転しています。[インストーラ](https://github.com/sakura-editor/sakura/releases)もありますので、`sakura-***-Release-Installer.zip`をダウンロードしましょう。 「Windows 標準の機能で解凍せずに、7-Zip (https://sevenzip.osdn.jp/) 等のツールを使用して解凍してください。」とのことですので注意してください。 今回は「Grep置換」のマクロについての話題です。ちなみに、正規表現に必要なbregonig.dllはインストーラに同梱されています。 ## 「Grep置換」のマクロの記録 複数ファイルの文字列のGrep置換が必要になりました。また、マクロによる実行もしたいと思いました。 まず、「Grep置換」自体は以下のような感じで実行します。 ![sakura_GrepReplace_001.jpg](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPIbzxu2NUwjnxyREYLPl-vs02PvJAa-kEmiqhTRirqpKC4eK2t0r7_gjfAJksRO3tSFBl_aGK8tZkRkS5ZG9UW7mP_LzqfjoXx1O6_Rz8rQNQTkPsSBXhUbXFn3JaxMDkK8ZGYstRCho/s1600/sakura_GrepReplace_001.jpg) ![sakura_GrepReplace_002.jpg](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4jtqjJrwpyo98QYjwwdtrFKGQ_wl7g8HIboa19ZcampCHYYpdHe4zhQzyV7-_jHaEWSGkwcfBuS0r1-t75hXn6SBZNxhI6VwMAPudFCjewP8U2bxOo1piSgOx7e1O_PaUqfr99Qu05fw/s1600/sakura_GrepReplace_002.jpg) マクロの記録を試しました。 ツール ⇒ キーマクロの記録開始 ⇒ Grep置換を実行 ⇒ キーマクロの保存 しかし、以下のようなダイアログが表示されて、うまくいきませんでした。 ![sakura_GrepReplace_003.jpg](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEif1z5fuFPvEz1BlRogywPgBzGGukAWeDPioyRJmyEdifNkeAWSRo0EOM9t_BhDW1DAZZ2vzocrduUkPhB_wqEKNP6mx6PKe-PKQxNjog2-852F3zjWg_OtnBSkE1DP0Acv5XpbxxfTSDY/s1600/sakura_GrepReplace_003.jpg) ## GrepReplace 仕方ないのでヘルプで調べました。 ![sakura_GrepReplace_004.jpg](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirr9HkqOT8VIpfmSbWjMH04PfX2ZV8V9t_76hDLvwGua13aIFl3RK9xLqY8NA-Fch8s-Qo23DzjPCDbyt5qy0Sq7oOJlNzbA1h6OLQIdGskfRr8OrrhGEXLYQwfkhRuXKqKrLovp49NWg/s1600/sakura_GrepReplace_004.jpg) 「Grep置換」のマクロ構文は以下でした。 ```javascript GrepReplace( str1 :String, str2 :String, str3 :String, str4 :String, int5 :Integer, int6 :Integer ); ``` str1:検索文字列 str2:置換後文字列 str3:検索対象にするファイル名 str4:検索対象にするフォルダ名 int5:オプション int6:文字コードセット ### int5:オプション 以下から選択したオプションを、10進数で加算した数値を入力します。 * サブフォルダからも検索する:0x01 = (10進数)1 * この編集中のテキストから検索する:0x02 = (10進数)2 * 英大文字と英小文字を区別する:0x04 = (10進数)4 * 正規表現:0x08 = (10進数)8 * 文字コード自動判別:0x10 = (10進数)16 * 「文字コードセット」 - SJIS:0x0000 = (10進数)0 - JIS:0x0100 = (10進数)256 - EUC:0x0200 = (10進数)512 - UTF-16:0x0300 = (10進数)768 - UTF-8:0x0400 = (10進数)1024 - UTF-7:0x0500 = (10進数)1280 - UTF-16BE:0x0600 = (10進数)1536 - CESU-8:0x0700 = (10進数)1792 - Latin1(Windows-1252):0x0800 = (10進数)2048 - 自動選択:0x6300 = (10進数)25344 * 単語単位で探す:0x010000 = (10進数)65536 * ファイル毎最初のみ検索:0x020000 = (10進数)131072 * ベースフォルダ表示:0x040000 = (10進数)262144 * フォルダ毎に表示:0x080000 = (10進数)524288 * クリップボードから貼り付ける:0x100000 = (10進数)1048576 * バックアップ作成:0x200000 = (10進数)2097152 * 「結果出力」 - 該当行:0x00 = (10進数)0 - 該当部分:0x20 = (10進数)32 * 「結果出力形式」 - ノーマル:0x00 = (10進数)0 - ファイル毎:0x40 = (10進数)64 - 結果のみ:0x80 = (10進数)128 例えば、以下のようにのように選択した時、 英大文字と英小文字を区別する:0x04 = (10進数)4 正規表現:0x08 = (10進数)8 文字コード自動判別:0x10 = (10進数)16 ベースフォルダ表示:0x040000 = (10進数)262144 「文字コードセット」自動選択:0x6300 = (10進数)25344 「結果出力」該当部分:0x20 = (10進数)32 「結果出力形式」ノーマル(省略時規定値):0x00 = (10進数)0 4 + 8 + 16 + 262144 + 25344 + 32 + 0 = 287548 です。 ### int6:文字コードセット 0 = SJIS 1 = JIS 2 = EUC 3 = Unicode 4 = UTF-8 5 = UTF-7 6 = UnicodeBE 99 = 自動判別 のようです。 ### 例 1例を書いておきます。 ```javascript GrepReplace('検索文字列', '置換後文字列', '*.html', 'C:\\tmp', 287548, 99); ``` 実行すると以下のような結果が新規ウィンドウに表示されます。 ```text □検索条件 "検索文字列" 置換後 "置換後文字列" 検索対象 *.html フォルダ C:\tmp 除外ファイル 除外フォルダ (サブフォルダを検索しない) (英大文字小文字を区別する) (正規表現:bregonig.dll Ver.4.20 with Onigmo 6.2.0) (文字コードセットの自動判別) (一致した行を出力) *** 個を置換しました。 ``` ## 最後に 私は、静的サイトをTiddlyWikiで作成しているのですが、最終的なhtmlファイルの整形時に「サクラエディター」の「Grep置換」を使っています。当初、Pythonで処理することも考えたのですが、そんな難しい置換をするわけではないこと、私が使うPCには必ず「サクラエディター」が入っていることから、「サクラエディター」を選択しています。良いソフトです。すばらしい。
この記事をシェアする
Twitter
Facebook
Google+
B!
はてブ
Pocket
0 件のコメント :
コメントを投稿
Previous
Next
自己紹介
WAKU-TAKE-A
詳細プロフィールを表示
人気記事
サクラエディターでGrep置換
Visual Studioのソリューションファイルのダウングレード
Zenfone2 Laser ZE500KLをRoot化してみます
Markdown PDFのすすめ
Markdown TOCのすすめ
Python3でBasic認証
Python3でDigest認証
IronPythonのスクリプトをVisual Studio Codeで実行する方法(旧)
LivetのVisual Studio 2017用プロジェクトテンプレートなどについて
IronPythonからOpenCVを利用する
カテゴリー
blogger
( 5 )
Bsic認証
( 1 )
Digest認証
( 1 )
dll化
( 1 )
Git
( 3 )
GitBucket
( 3 )
Google Form
( 1 )
IronPython
( 14 )
Ldap
( 3 )
Livet
( 2 )
Markdown
( 4 )
Markdown PDF
( 1 )
Markdown TOC
( 1 )
MVVM
( 4 )
OpenCV
( 5 )
OpenCvSharp
( 4 )
OpenLdap
( 3 )
PDF
( 1 )
pip
( 1 )
Pyhon
( 3 )
R.NET
( 1 )
ROOT
( 1 )
R言語
( 1 )
TWRP
( 1 )
Vaster2
( 2 )
Visual Studio
( 1 )
Visual Studio Code
( 4 )
Windows
( 5 )
WPF
( 3 )
XAML
( 3 )
ZE500KL
( 1 )
Zenfone2 laser
( 1 )
ZXing
( 1 )
ZXing. Net
( 1 )
サクラエディタ
( 1 )
ショッピング
( 2 )
データバインディング
( 3 )
テンプレート
( 3 )
リモートデスクトップ接続
( 5 )
在宅勤務
( 5 )
注意点
( 1 )
統計解析R
( 1 )
特別定額給付金
( 1 )
ブログアーカイブ
10月 2023
( 2 )
5月 2020
( 3 )
4月 2020
( 4 )
7月 2019
( 1 )
5月 2019
( 5 )
2月 2019
( 1 )
12月 2018
( 2 )
11月 2018
( 4 )
10月 2018
( 3 )
8月 2018
( 5 )
7月 2018
( 3 )
6月 2018
( 7 )
2月 2018
( 2 )
10月 2016
( 1 )
0 件のコメント :
コメントを投稿