タグ

ブックマーク / hydrocul.github.io (5)

  • Unicodeのgrapheme cluster (書記素クラスタ) | hydroculのメモ

    Unicodeのgrapheme cluster (書記素クラスタ) 2015/10/25 Unicodeテキストを1文字ずつ分割するアルゴリズムをUnicodeの仕様として定められており、grapheme cluster (書記素クラスタ)と呼ばれる。 普通はUnicodeのコードポイント1つずつ文字が割り当てられているので、ほとんどはコードポイント1つが1文字になるのだが、たまにコードポイント2つ以上で1文字になるものもあり、 1文字ずつテキストを分解するのは意外と複雑なルールになる。 Grapheme cluster について書かれている公式のドキュメントは以下にある。 Unicode® Standard Annex #29 UNICODE TEXT SEGMENTATION http://unicode.org/reports/tr29/ この記事は公式ドキュメントを読んで理解した

    michael26
    michael26 2019/10/06
  • cut コマンド | コマンドの使い方(Linux) | hydroculのメモ

    cut コマンド 2016/06/11 タブ区切りでフィールドを選択して出力する、または各行の中の一部を範囲指定して出力するコマンド。 cutコマンドの使用例と、同じことをするPerlワンライナーの例 ## タブ区切りで最初の列と3列目だけを抽出して、タブ区切りで出力する $ cut -f1,3 foo.txt $ cat foo.txt | cut -f1,3 $ cat foo.txt | perl -anle 'print "$F[0]\t$F[2]"' ## 以下のようにしても列の順番は入れ替えてくれない $ cut -f3,1 foo.txt ## Perlならできる $ cat foo.txt | perl -anle 'print "$F[2]\t$F[0]"' ## 各行の4文字目以降を出力する $ cut -b4- foo.txt $ cat foo.txt | cut

    michael26
    michael26 2018/05/15
  • tee コマンド | コマンドの使い方(Linux) | hydroculのメモ

    michael26
    michael26 2017/03/25
  • xargs コマンド | コマンドの使い方(Linux) | hydroculのメモ

    xargs コマンド 2015/05/13 ファイル名の一覧を標準入力から受け取って、そのファイル一覧を任意のコマンドに引数として渡すコマンド。ファイル一覧でなくてもなんでもよい。 わかりづらいので、例として、カレントディレクトリの配下にある拡張子が .txt のファイルをすべて削除したいとする。 まずはfindコマンドでリストアップする。 $ find . -name "*.txt" この結果が以下のようだったとする。 foo.txt sub/bar.txt これらを削除するには $ rm foo.txt sub/bar.txt を実行すればよいが、findの結果が大量にある場合はrmコマンドを手で書くのは手間なので、 findの結果をそのままrmに渡したい。rmコマンドが標準入力からファイル名を受け取ってくれるならパイプでつなぐだけだが、残念ながらrmにはパラメータで渡す必要がある。こ

    michael26
    michael26 2016/06/17
  • awk コマンド | コマンドの使い方(Linux) | hydroculのメモ

    awk コマンド 2015/06/22 1つ以上のスペースで区切られた複数列のテキストデータをごにょごにょ処理するときに便利なツール。四則演算だとかもできる。 例えば以下のようなテキストファイルがあった場合、 1 2 3 4 以下のコマンドを実行すると awk '{print $1 * $2;}' foo.txt # または cat foo.txt | awk '{print $1 * $2;}' 以下のように出力される。 2 12 区切り文字はデフォルトで1つ以上のスペースやタブが使えるみたい。スペースやタブが間にいくつ連続していても1つの区切りとみなされる。 ただ、awkの文法をなかなか覚えられず、なにかやりたいときにはPerlのワンライナーでも同じことができるので、自分はPerlを使ってしまいがち。 HOWTO コンマ区切り(CSV)で処理するには 2014/08/10 -Fオプショ

    michael26
    michael26 2015/09/10
  • 1