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