Quantcast
Channel: 揮発性のメモ2
Viewing all articles
Browse latest Browse all 110

sortコマンドでテキストを数値を拾ってソートする

$
0
0

{"no":176026, "text":"aiueo"}{"no":26028, "text":"2024-07-20"}{"no":3030, "text":"田中"}

こんな感じのJSONの並んだテキスト*1を、テキストのままソートしたい。
幸い先頭が {"no":数値,となっていることは確定しているので、ここを基点にインチキをする。

sort-t, -k1.7n hoge.jsonl

-t 区切り文字指定

区切り文字を指定する。 デフォルトは 空白。 ここではカンマを指定する。
(ただし、この例の場合は実は指定する必要がほぼ無い)

-k キーごとのソートオプション

-k1.7n は、「1番目のキー」の「7文字目以降」を「数値として」ソートする という指定になる。
キーや文字数は 1はじまり

{"no":3030, "text":"田中"}
      ^
1234567

数値としてソートするときは、数値以外の文字以降は無視される
(ので、実はこの例の場合、区切り文字を指定する必要はほぼ無い)


ja.manpages.org

*1:NDJSON や JSON Lines と呼ぶらしい


Viewing all articles
Browse latest Browse all 110

Trending Articles