ハム活動記

どうでも良いこと

so.png

総務省のHPからアマチュア局を検索したら、 433365局がひっとした。

それにしても沢山の局が登録している。

試しに500局をダウンロードして、コピペでファイルに保存。
その中でコールサインだけ抜き出すにはどうすれば良いか?

まぁ手っ取り早く正規表現を使ってパターンマッチさせれば良い

で、

アマチュア無線局 コールサインの正規表現は

JA1から始まる。7Aから始まる。8Jから始まる。 この3パターンがあります

/J[A-S]\d\w{2,3}/
/7[A-S]\d\w{3}/
/8[J-N]\d\w+/

正規表現で書くとこのようになります。

肝心な正規表現が掛けたので、perlでコーディングしました

猛者なら1行で掛けてしまうかもしれませんが・・・

use strict;

my $fn="1-1.txt";
my @call_list;
my $ct=0;

if(!open(SOUMU, "<:utf8", $fn)){print("File Open ERR $fn\n");}
while(<SOUMU>){
	my $rec = $_;
	
	if($rec =~ /J[A-S]\d\w{2,3}/){  JA〜JSその後ろに数字1桁、その後ろに文字2〜3桁
		push(@call_list,$&);
	}
	if($rec =~ /7[A-S]\d\w{3}/){
		push(@call_list,$&);
	}
	if($rec =~ /8[J-N]\d\w+/){
		push(@call_list,$&);
	}
}
 close SOUMU;

 foreach my $p(@call_list){ $ct++;  print "$ct $p \n"; }

出力をリダイレクトしてあげると、結果をファイルに落とせます。

ぴったり500件有ったので、抽出ミスはありませんでした。

それがどうした

交信中にその局の情報が欲しい時って有りますよね。
簡単にアクセスして情報を取得出来ればいいのですが、何ステップかしないと取得できない・・・て、なんか面倒くさ!

まぁ、ワンステップで検索するにはどうしたら・・・と考えている時の産物・・・

どうでも良いことでした。

t.png


添付ファイル: fileso.png 412件 [詳細] filet.png 398件 [詳細]

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2023-10-31 (火) 09:16:02