大量のテキストファイルからキーワード抽出がしたい
フリーエンジニアのお仕事が7月末までで終わったので、再び本業のWebサイト開発に従事しております。
Webサイト開発でメインで使っている開発言語はPHPになります。
MySQLから数万件ある様なデータを取得してきてもスパンと反応して返してくれるPHPは、なかなか動作も機敏で良いな~、と感じています。
で、今回はそんなWebサーバー上で動くPHPを、ローカル環境のしかもコマンドライン上で動かしてみようかな、と(^-^)v
というのも大量のテキストファイルから、一部キーワードのみを抽出する作業が必要になりまして、sakuraエディタの「キーマクロ」を使って必要なキーワード部分のみを残しながら作業しようかとも思いましたが、それにしたって後から抽出したキーワード部分をまとめたりが面倒くさいので
「何か良い方法はないかな?」
と考えまして。
C#とかでWindowsアプリとして組めばもちろん「キーワード抽出してCSVで吐いて」とかは簡単にやらせることが出来ますが、たかだかその程度の作業をするのにC#で書くのもバカバカしいですし、条件を幾つも変えながら実行したいので、都度ソースコードを修正してVisualStudioで再コンパイルとかは非常に面倒くさいので、もっと手軽に行える方法がないかな、と。
そこで、以前PHPの基礎を勉強していた頃に
「PHPはWebサーバー上で動きますが、Webサーバー上でしか動かないわけではなくて、ローカルでも動きます」
みたいな記載があった様な(^-^;
ちょっと調べてみましょう。
コマンドライン上でも動くPHP
PHPの公式サイト「PHP マニュアル」で調べてみます。
・・・(調査中)・・・
ありました!
CLI SAPI の主な目的は、シェルアプリケーションを PHP で開発することです。CLI SAPI とその他の SAPI の間にはちょっとした違いがあり、 それを本章で説明します。CLI と CGI は多くの共通点がありますが、別の SAPI であるということも覚えておきましょう。
PHP 5 以降、Windows 版の CLI はメインフォルダ内で php.exe という名前で配布されます。CGI バージョンは、php-cgi.exe として配布されます。さらに PHP 5 では、configure で --enable-cli-win32 を指定すると、新しく php-win.exe というファイルが配布されます。 これは CLI バージョンとほぼ同じですが、何も出力しないため、コンソールを必要としません。
ふむふむ。
「php.exe」を使えばWindowsクライアントの中でもPHPが動作しそうです(^-^)v
php.exeをエクスプローラーで検索して探してみると・・・
あった!
下記4つのexeがありました!
- phpdbg.exe
- php-win.exe
- php.exe
- php-cgi.exe
多分、この中の3つ目の「php.exe」で動かせばよいのかな、と。
php.exeをダブルクリックしてみると下記の様な感じに。
コマンドライン上で動かすのが正しい様ですね。
php.exe
では早速、コマンドラインでphp.exeを叩いてみましょう!
あれ?
何も起きませんね(^-^;
動作待ちみたくなっています。
<?php
print "Hello World!";
?>
php.exeがコマンドラインでPHPを動かすためのプログラムのようなので早速試しました。
うまく動けば良いですが。
成功です^^
ふむふむ。
コマンドライン上で
「php test.php」みたくphp.exeの後ろに半角スペースを入れてその後にphpファイルを指定すれば動く様です(^-^)v
適当なソースコードを書きます。
<?php echo "php_test"; ?>
「php_test」と表示するだけのソースコードです(^-^;
ファイル名は「cmd01.php」にしました。
では実際に動かしてみましょう!
コマンドライン上で「php.exe cmd01.php」と入力して実行すると・・・
動きました!!!
上図の2行目に「php_test」と表示されているのが分かるかと思います(^-^)v
Windowsのコマンドライン上でPHPが動作しました!
PHPさえ動けばこっちのものです。
後は指定フォルダ内のテキストファイルを読み込んで、キーワードを抽出し、csvファイルとして吐き出すプログラムを書いて実行すればOKです。
PHPならエディターで開いてさくさく書き直せるので、C#とVisualStudioなんかで書くよりも数段落に書けるので、今後はローカルファイル内の加工などはPHPに頑張ってもらう事になりそうです(^-^)v
まとめ
- PHPはWebサーバー上で動く開発言語
- Windowsのコマンドライン上でphp.exeを実行すれば、ローカル上でPHPを動作させることが出来る!
- php.exe実行時は「php filename.php」みたく、半角スペースを空けてphpファイルを指定すればOK!