ウェブトラフィック研究所 |  あの芸能人が、宴会を盛り上げます  
新作コンテンツRSSリーダー「RSS_today」
ホーム > コラム > 文字列一括置換『sonno TC ver 1.01』

sonno TC ver 1.01

グレップ機能とは?

テキスト中の指定されたパターン(文字列)を、全て抽出して表示する機能の事を、一般的にグレップ(GREP)と呼んでいます。気の利いたテキストエディターには必須機能のひとつですので、おそらくみなさんにも、おなじみの機能だろうと思います。もちろん「メモ帳」にもあります。

ちなみにGREPという言葉の語源は、Global Regular Expression and Printの接頭語で、元々はUNIXSのコマンドから来ているそうです。ウインドウズでは、「検索」という機能が、この「Grep」に相当します。

このグレップ機能は、ウェブサイトの内容に大規模な修正をする必要が生じた際に、威力を発揮します。しかしグレップされたファイルに対して、テキストエディターを使ってひとつずつ修正していく作業は、実際にはかなり面倒です。

そこで、多数のファイル内の文字列を一括で、別の文字列に置き換えることができる便利なツールを紹介します。

時間に追われるウェブマスターには強力な味方になることでしょう。

sonno TC ver 1.01

作者
伊東克弘氏
価格
フリーソフト
動作確認済みOS
Windows 98, Me, NT4.0, 2000, XP
主な機能
複数のファイル内の、指定された文字列の一括置換が可能
複数行の文字列の置換が可能
置換後のファイルの出力先フォルダの指定が可能
置換後のファイルの拡張子の指定が可能
主宰の一言コメント
ネーミングの由来は、イタリア語で「睡眠」を表す「sonno」という単語から来ているらしい。寝ている間に作業が終わっている・・・このソフトの素晴らしさをうまく表現した、実にお洒落なネーミングだ。
しかし実際にはかなりの高性能で、ファイル数が100程度なら、あっという間に作業が終了する。よほど低スペックのマシンでない限り、おそらく眠っている暇などないだろう。
ダウンロード先
Vectorソフトライブラリー

活用例

sonno TCの一括置換機能を利用した、筆者自身の活用例をふたつ紹介します。

置換済みファイルの出力先を別のフォルダに指定しておけば、一応元のファイルは安全ですが、この手の作業を行う前には、必ずデータのバックアップを取っておく習慣を持たれることお勧めします。

不測の事故は、たいてい操作に慣れた頃にやってくるものです。

活用例その1 名称変更などの対応

会社や団体等のサイトのウェブマスターならば、その組織の名称変更や住所移転が発生した場合、すみやかに対応することが望ましい。もしくは物理的な所在地は不変でも、市町村合併等で住所表示が変わってしまう場合があります。

そんな場合でも、sonno TCさえあれば、少しも慌てる必要はありません。

置換前文字列
京都府中郡峰山町
置換後文字列
京都府京丹後市峰山町

活用例その2 スクリプトの挿入

<SCRIPT Language="JavaScript">
<!--
document.write("<img src='CGI設置URI/acclog.cgi?");
document.write("referrer="+document.referrer+"&");
document.write("width="+screen.width+"&");
document.write("height="+screen.height+"&");
document.write("color="+screen.colorDepth+"'>");
// -->
</SCRIPT>

上記のjavascriptは、futomi's CGI Cafe高機能アクセス解析を導入する際に、解析対象のhtmlソースに貼り付けるスクリプトの一例です。

実際に使用する場合は、CGI設置URIの部分を、実際のURIに書き換える必要があるので注意して下さい。

アクセス解析用のCGIプログラムが問題なく稼動しているのを確認できたら、後は上記のスクリプトを解析対象にしたいウェブページに、片っ端から貼りつけていくだけなのですが、サイト内の全てのページをアクセス解析の対象にしたい場合、当然のことながら、全てのページにこのスクリプトを貼りつける必要があります。ページ数の少ない小規模なサイトならともかく、100ページ以上あるようなサイトの場合、実に気が遠くなるような作業です。

そんな時にも!

なんだかテレビショッピングみたいですね・・・・・・・

複数行の文字列を一括置換できるsonno TCが、大活躍します。

例えば、「特定の文字列(要素)」を、「挿入したいスクリプト+特定の文字列」という形式で一括置換を実行すれば、全てのページに目的のスクリプトを挿入することが可能です。

置換を行う文字列の選定条件は、全てのページに必ず存在する事と、ひとつのページに一箇所しか存在しない事という2つですから、この場合、BODY要素の終了タグあたりが妥当です。

置換前文字列
</body>
置換後文字列
<SCRIPT Language="JavaScript">
<!--
document.write("<img src='CGI設置URI/acclog.cgi?");
document.write("referrer="+document.referrer+"&");
document.write("width="+screen.width+"&");
document.write("height="+screen.height+"&");
document.write("color="+screen.colorDepth+"'>");
// -->
</SCRIPT>
</body>

たったこれだけでOKです。これが基本形

おまけ

ほんの少しだけ欲を言うと、上記のようなサイト内の全てのページで共通したスクリプトを実行したい場合は、スクリプトの部分を外部ファイル化してしまって、それぞれのhtmlファイル上からその都度呼び出して、スクリプトを実行させる方がスマートなやり方といえるでしょう。

htmlのソースも短くなりますし、後々の管理も非常に楽になります。

JavaScriptの外部ファイル化の手順のおさらい

1.当該JavaScriptの実行スクリプト部分(普通は、コメントアウトされているところ)を、コピーする。

document.write("<img src='CGI設置URI/acclog.cgi?");
document.write("referrer="+document.referrer+"&");
document.write("width="+screen.width+"&");
document.write("height="+screen.height+"&");
document.write("color="+screen.colorDepth+"'>");

上記の例の場合では、この部分。

2.テキストエディターで新規のテキストファイルを作成し、先程コピーした部分をペーストして、好きな名前を付けて保存する。ただし拡張子は、.jsとする。

ここでは以下の説明の都合上、実行ファイルと命名します。

3.実行ファイルをサーバーの任意のディレクトリにアップロードします。もしくは設置するURIだけ決めておいて、後からアップロードしても構いません。

4.htmlソースの、スクリプトを実行したい部分に、外部ファイルを参照するための記述を追加する。

<script type="text/javascript" src="実行ファイルのURI"">

sonno TCを使って、置換するなら

置換前文字列
</body>
置換後文字列
<script type="text/javascript" src="実行ファイルのURI">
</body>

もしくは、既に前述の基本形を利用している場合は

置換前文字列
<SCRIPT Language="JavaScript">
<!--
document.write("<img src='CGI設置URI/acclog.cgi?");
document.write("referrer="+document.referrer+"&");
document.write("width="+screen.width+"&");
document.write("height="+screen.height+"&");
document.write("color="+screen.colorDepth+"'>");
// -->
</SCRIPT>
</body>
置換後文字列
<script type="text/javascript" src="実行ファイルのURI">
</body>

となります。

↑このページの先頭へ | コラムの一覧へ