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を使ったポータルサイト支援利用手段はあるようですが、ナンノコトヤラワカリマセン)
 

0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。