「adif」タグアーカイブ

CQRlog の adif 操作

adif はテキストファイルであるから grep, sed, awk でカンタンに操作できると信じていた。
しかし CQRlog の出力する adif は QSO データが 20220103 や PJ07 Y で改行されたりで非常にキチャナイのは確かで qrz.com デスクが貶すのもわからなくはない。

然もタグが全て大文字であることもキチャナイ原因の一つだ。 昔 html4.01 のころも大文字を使うのが多かったが、html5 になって小文字になったのでソース見てもキレイだ。
それでときには「整形して」出力することもある。

  • まず <EOR> で改行し、途中は改行しない
  • 一行毎に空白行を置く
  • タグの前にスペースを置く
  • 行頭のスペースを削除

ってことにしようと思う。 空白行はよけいかも。

cat ~/A.adi | awk '{gsub(/<EOR>/,"<EOR>\n",$0);printf "%s",$0}' | sed -e 's/^\(.*\)$/\1\n/g' | sed -e 's/</ </g' | sed -e 's/^[   ]*//' > ~/B.adi 

awk は教えを請うた。

cabrillo とアワード

コンテストの標準ログ形式であるが、先のドルフィンズ・クラブはこれを推奨する。
GCR を取らないタテマエからなのだろう。
特に Hunters – ОХОТНИК では。

コンテスト対応でない CQRlog では期間 (2000 年以降)・ DXCC・バンドを指定して検索する。
この時「重複カット」機能があればと思うのだが、未搭載。

ファイル・エクスポート時に「日時・コール・周波数・モード・双方レポート」という指定にする。
出力された adif を cabrillo に変換するアプリが見当たらない。
数年前にはなかったが、今は G6GLP Tony による ADIF<>CBR なるウェブアプリがあった。

  1. adif ファイルを選択
  2. Upload を押す
  3. Output Cabrillo を押す
  4. CALLSIGN 枠にコールサイン入力
  5. 最初の No Save を RST Sent に切り替え
  6. 二つ目の No Save を Contact に切り替え
  7. 三つ目の No Save を RST Recvd に切り替え
  8. 変換された状態を見るには O/P Screen を押す
  9. 保存するには O/P File を押す

ファイル出力は一律に Cabrillo_file.cbr なので適宜リネームしておく。

cabrillo の QSO データは「タブ区切りテキスト」 .tsv なのでスプレッドシート MS-Excel や LibreOffice Calc で読み込むことが可能であるが、 特に時刻はコロン抜きのため 00:00 は cbr で 0000 とするので Calc などでは「0」となってしまう。

Ubuntu にはそれを助けるツールがあることに気づかなかった。
並べ替え(ソート)が必要なら

sort -t $'\t' -k3,3 /path/Cabrillo_file.cbr

必要に応じて -o でアウトプット。

重複カットも(ソート済原則)

uniq -f5 /path/Cabrillo_file.cbr

必要に応じて -o でアウトプット。

k3,3 は日付・時刻の列を表す。
-f5 は手前 5 列を無視して 6 列目の相手側コールサインを比較するの意味。

QSL プリント

昨年 6 月 JT65 を始めて以来、ログは CQRlog であるが、このアプリケーションには QSL プリントはシールプリントしかない。 ダイレクト・プリントには非対応である。
それで暫くは LibreOffice Calc との二重ログでやっていた。
しかし、転記ミスも起こしかねないし、寧ろ大儀になってきたというのが正直なところ。

プリントは gLabels に csv ファイルを読み込んで行うので、adif から csv に変換するコンバーターがあればいいのだが、ADIF to Excel to ADIF Converter といったものもあるけど、 Ubuntu では VB ランタイムの関係からかどうも成功しない。

以前は他になかったような記憶があるが、探してみると AD1C なる windows ソフト があるようで、それを試してみる。
作者コールサインが AD1C。 操作は単純で 600 QSO のデータも即座に出力された。

しかし Ubuntu に帰って gedit に読み込ませて唖然とした。
文字コードのエラーはともあれ、元々の時刻が引用符に囲まれ、更に時分区切りのコロンが消えていた。
文字コードに ISO-8859-1 を追加してやれば、正常に gedit は対応した。

Calc に読み込むと、時刻の 00:05 がただの 5 と表示され,どうすれば正常に表示できるか悩んだ。
結果的には 0 を先行させ、あとはユーザー定義で 00:00 スタイルにするだけの話だった。 MS-Excel では =VALUE(TEXT(B1,”00!:00″)) といった関数で行うとのことだった。

JARL 転送枠は以前は手動でやっていたが、これも関数を使うことでミス防止ができた。
プリフィックス・トップレターは =LEFT{A1,1) でゲットでき、セカンドレターは =MID(A1,2,1) でできることを知った。

一月は仕事をしていたので、やや少なかった QSO が二月のエブリデイ・サンデイによってやや多かった。
QSL プリントしなくっちゃ。