2021年1月28日木曜日

カササギ or カチガラス

鳴き声に特徴があるので気づくことがたまにあるけど、春から晩秋にかけては見かけない。
 


2021年1月26日火曜日

LibreOffice Calc コマンド

Debian GNU/Linux 10 (buster)にて

・バージョン
$ libreoffice7.0 --version
LibreOffice 7.0.3.1 ...略

・ods(Open Document Spreadsheets)のファイルを開く
$ libreoffice7.0 --calc infile.ods
$ libreoffice7.0 --calc -o infile.ods
ちなみに、csv(Comma Separated Values)のファイルを開いてみると、
     $ libreoffice7.0 --calc -o infile.csv
立ち上がり時に「テキストのインポート」ウィンドウが現れて、文字コーディング、言語、初めの行、区切りオプション、フィールド、区切り文字・・・の確認[OK]後、calcが立ち上がる。

・csv ファイルを開く(上記のような確認なしに)
$ libreoffice7.0 --calc -o --infilter=ods:44,34,0 infile.csv
csvにはソフトや言語によって差異があるのであるので、--infilter=以下にコンマで区切ってオプション毎に数字を指定する。すべて書かなくてもいい。上記例ではオプション3つ。自分のPC上ではうまくいってる。
 (0) ods: ods形式に変換。
    大小文字可。(ods→csvの場合、--infilter=csv: ... infile.ods)
 (1) フィールドの区切り 44
    , コンマcomma区切りなら44と書く。タブなら9。; セミコロンsemicolonなら59。
 (2) 区切り文字 34
    " ダブルクォートなら34。' シングルクォートなら39。
 (3) 言語 0
    0はシステムの設定に依存。UTF-8なら76とする。
 
フィルター infilter のオプション説明(英)

・csv→ods にファイル変換してしまう (GUIは開かない)
$ libreoffice7.0 --calc --convert-to ods --infilter=ods:44,34,76 infile.csv
変換ファイルは、カレントディレクトリに infile.ods で出力される。--outdir output_dir で出力先ディレクトリの指定も可能。

とりあえず、ここまで。

2021年1月25日月曜日

2021年1月20日水曜日

ハイフン,ダッシュ,マイナスごとき一文字を16進数で表示

Libreoffice calc 等で意味なく穴埋めに使われるハイフン類を xxdで表示してみた。

    -    半ハイフンマイナス     2d
    ‐   全ハイフン         e28090
    ―   全角ダッシュ       e28095
    −    全ハイフンマイナス e28892
    -   全角マイナス       efbc8d
    ー   全角の長音         e383bc
    一   全角漢字イチ       e4b880

xxd はファイルを16進数でダンプするコマンド。

    $  echo -n '―' | xxd -p
    e28095

echo に -n を付けないと最後に改行の'0a'も表示される。

    $ echo 'ー' | xxd -p
    e383bc0a

表計算の1セルをダッシュもどきで埋めている例はありふれてます。
テキスト処理では、困るので消してしまいます。

$ sed 's/[-|‐|―|−|-|ー|一]//g' ...
 
同じ例
$ sed 's/[\x2d|\xe2\x80\x90|\xe2\x80\x90\xe2\x80\x95|\xe2\x88\x92|\xef\xbc\x8d|\xe3\x83\xbc|\xe4\xb8\x80]//g' ...

注意: 
10-9=1 → 109=1、一歩目→歩目、パート→パト ...
(実際の処理では s/\t[-‐―−-ー]/\t/g としてます。)
スペースの半|全混在、括弧の半|全混在、セル内の不必要な改行...
 
[きっかけ]
なんの役にも立たないけど、covid19の自治体公表データをグラフ化してみた。ハイフンが消えない例があったので調べると「全角の長音」でした・・・
 

自治体の関連WEBコピペ→テキストにしてsed処理→LibreOffice calcでチェックして項目選択後csv出力→awkでgraphviz用dotファイルに変更→xdot(Dot Viewer)で表示。
情報保護、自治体・保健所の表現・規定違いもあり、2,3世代の感染経路までが限度。

Debian GNU/Linux $ echo $LANG ja_JP.UTF-8   にて、以上素人の個人メモ
(自治体から、githubからyarnやdockerを使ったポータルサイト支援利用手段はあるようですが、ナンノコトヤラワカリマセン)