2024/06/07(金) [n年前の日記]
#1 [hns][perl] hnsのカテゴリ一覧を作成するスクリプトを書いた
この日記ページを表示してるWeb日記システム hns のカテゴリ一覧ファイル(cat.txt)を作成するPerlスクリプトを書いた。
◎ ソースと使い方 :
スクリプトソースは以下。
_update_hnf_cat_pl.txt (update_hnf_cat.pl)
※ 2024/06/08追記。少しだけソースをリファクタリング(?)してアップロードし直した。追記終わり。
利用する前に、スクリプト内の一部を環境に合わせて修正する必要がある。
以下を打てば、hnfファイル群をスキャンして、「CAT hoge fuga piyo」と書かれた部分を読み取り、cat.txt を更新する。
デフォルトでは、既に存在していた cat.txt の内容に、新規カテゴリ名を追加するように処理をしていくけれど、全部作り直したい時は以下のオプションをつけて実行すれば、既にある cat.txt の内容を無視して処理をする。
日本語のカテゴリ名には対応してない。英数字のカテゴリ名にのみ対応。
動作確認環境は以下。
Perlで書いたから処理が遅いだろうかと不安だったけど、Intel Atom N270 + HDD + RAM 2GB + Debian Linux 10 buster の環境でも数分で処理を終えるので、これでもまあいいかなと…。
_update_hnf_cat_pl.txt (update_hnf_cat.pl)
※ 2024/06/08追記。少しだけソースをリファクタリング(?)してアップロードし直した。追記終わり。
利用する前に、スクリプト内の一部を環境に合わせて修正する必要がある。
- $hnfdir に、hnfファイルが入ってるディレクトリを指定。(例: ~/diary/)
- $cattxtdpath に、cat.txt が入ってるディレクトリを指定。(例: ~/.public_html/diary/cat/)
- $lock_dir に、処理中のロックディレクトリのパスを指定。(例: ~/diary/log/update_hnf_cat_lock)
以下を打てば、hnfファイル群をスキャンして、「CAT hoge fuga piyo」と書かれた部分を読み取り、cat.txt を更新する。
perl update_hnf_cat.pl or ./update_hnf_cat.pl
デフォルトでは、既に存在していた cat.txt の内容に、新規カテゴリ名を追加するように処理をしていくけれど、全部作り直したい時は以下のオプションをつけて実行すれば、既にある cat.txt の内容を無視して処理をする。
perl update_hnf_cat.pl --clean or ./update_hnf_cat.pl --clean
日本語のカテゴリ名には対応してない。英数字のカテゴリ名にのみ対応。
動作確認環境は以下。
- Windows10 x64 22H2 + Strawberry Perl 5.32.1.1-x64
- Debian Linux 10 buster + Perl 5.28.1 i686
Perlで書いたから処理が遅いだろうかと不安だったけど、Intel Atom N270 + HDD + RAM 2GB + Debian Linux 10 buster の環境でも数分で処理を終えるので、これでもまあいいかなと…。
◎ タイプミスがやたらと多かった :
このスクリプトを使って、カテゴリ名を自動で抽出してみたら、今までカテゴリ名をかなりタイプミスしていたことに気づいた。例えば、「windows」を、「windos」「wndows」「window」「windwos」と打ち込んでいたり、等々…。
この際だから、過去に書いた日記ページ内で打ち間違えていたところを修正しておいた。
この際だから、過去に書いた日記ページ内で打ち間違えていたところを修正しておいた。
[ ツッコむ ]
以上です。