ファイル内のjson属性の値に基づいてファイルをソートする方法は?

ファイル内のjson属性の値に基づいてファイルをソートする方法は?

以下から動画リストをダウンロードしました。YouTube-DL各ファイルには、特定の属性を含む対応する.jsonファイルがあります。したがって、その.jsonファイル内で選択したjson属性に基づいてファイルを並べ替えたいのです(例:ビュー数、属性:view_count)。

私にとって必要なツールは何ですか?これを達成するにはどうすればよいですか?

ベストアンサー1

少し使うべきですコマンドラインJSONパーサー、印刷によって各ファイルの特定の値を抽出し、印刷された値に基づいてソートします。

以下は、使用できるサンプルスクリプトです。

ls -1 *.json | tr \\n \\0 | xargs -0 -L1 -I% sh -c "cat '%' | jshon -e view_count | awk '{print \$1\" %\"}'" | sort -k 1 -nr

view_countjson属性名はどこにありますか?このスクリプトは.jsonファイルを一覧表示し、最初の列に基づいて数値でソートされた各ファイルのJSON view_count属性の値を出力します。

jshonこの例では、パッケージマネージャから簡単にインストールできるツールが必要です。またはGitHubからインストール源泉

その後、必要に応じて上記のスクリプトを自由に変更できます。いくつかの例:

  • 上位20枚を印刷するには、以下を追加します。| head -n20
  • jsonファイルの代わりにそのビデオを印刷するには、次を追加します。| sed s/info.json$/mkv/

リンク:

おすすめ記事