以下の内容はhttps://iww.hateblo.jp/entry/20240723/sortより取得しました。


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

{"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 と呼ぶらしい




以上の内容はhttps://iww.hateblo.jp/entry/20240723/sortより取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14