「トラ技」の記事検索
トランジスタ技術に載っていた記事を探すなら
・「トランジスタ技術」目次データベース
解凍して出てくる「TR.txt」(1.7Mバイトほど)がベタの
テキストファイルで、CSV形式になっています。
記事の検索ツールも付いているのですがちょっと不便なことも。
・著者名の姓と名がくっついていたり(昔の記事)、
スペースで分離していたり。
・「-」の使い方。
ADCとかA-Dコンバータとかの言い回しの違い。
・「・」で区切った言葉。
・英大文字と小文字の区分。
grepで全文検索するとき、小文字大文字の区別は無しでてなことに
しても、ちょっとした違いで見逃しが発生します。
そこで、こんな「gawk」を使ったツールを使っています。
・コマンドプロンプトで。
・バッチファイルから起動。
・gawk.exeをパスが通っているところに置いて。
・tr.txtのあるフォルダで。
・tr 下間憲行
としたら、私の書いた記事が、がさ~っと出てきます。
◎tr.bat
~~~~~~~~~~~~~~~~~~~
echo off
rem "TR.TXT 文字列検索"
rem "入力文字の確認"
if "%1"=="" GOTO HELP
rem GAWKを起動
gawk -f tr.awk tr.txt %1 %2 %3
goto END
rem ヘルプ表示
:HELP
echo 「TR 検索文字列」と入力してください.
:END
~~~~~~~~~~~~~~~~~~~
◎tr.awk
~~~~~~~~~~~~~~~~~~~
# tr.txt 文字検索
BEGIN{
msg = ARGV[2] # 1つめに"tr.txt"が入って
ARGV[2] = "" # 2つめが検索文字列
msg = tolower(msg) # 小文字で比較
printf("# 検索文字 : %s\n", msg)
}
# 検索実行
{
tr = $0 # tr.txtの1行
gsub(/[ ・\-\/]/, "", tr) # 半角全角スペースと・-/を除く
tr = tolower(tr) # 小文字で比較
if(match(tr , msg)) print $0 # 一致で1行出力
}
~~~~~~~~~~~~~~~~~~~
※追記
長音記号「ー」も無視できるようにするほうが良いかと。
(1) バッチファイル起動で入力する文字の
「・ーー-/」を消してしまう。
BEGIN{ のところ
ARGV[2] = "" # 2つめが検索文字列
gsub(/[・ー\-\-\/]/, "", msg) # 記号を除く
msg = tolower(msg) # 小文字で比較
(2) 読み出し処理での無視文字に「ーー」を追加
tr = $0 # tr.txtの1行
gsub(/[ ・ー\-\-\/]/, "", tr) # スペースと記号を除く
tr = tolower(tr) # 小文字で比較
~~~~~~~~~~~~~~~~~~~~~~~~~~~
著者名「氏名の分離」を無くすのと「・/-」の無視だけで、
だいぶと使いやすくなります。
※tr.txtに「全角英数」文字は出てこないみたいです。
| 固定リンク
「AWK(GAWK)」カテゴリの記事
- BSch3V CE3ファイルからコメント文字をピックアップ(2022.11.09)
- 「トラ技」の記事検索(2022.08.31)
- サーミスタ温度計、何ビットのA/Dコンバータがいるか?(2021.08.11)
- gawk 文字列から1文字を取り出して8bit数値として扱いたい(2020.10.21)
- ダイソーReVOLTES単3 JIS C8708:2019充放電試験途中経過(2020.03.05)
コメント