GNU/Linux >> Linux の 問題 >  >> Linux

JSONプリティプリントを1行に変換する

そのようなものには jq を使用する必要があります:

jq -c . input.txt

別の簡単な汚い解決策は、 sed を使用することです &tr :

sed -e 's/^ *//' < input.txt | tr -d '\n'

jq を使用することをお勧めしますが これは、JSON を操作するために設計されています。 jq sed のようなものです JSON用。 sed を使用して JSON をテキストで操作する /awk /etc は、意味的に同等の JSON を生成する保証はありません。


jq またはその他の json 認識ツールは、json ファイルの操作に最適です。しかし、ここでは awk です。

awk -v RS= '{$1=$1}1' input.json
{ "endpointApplications": { "App_Name": { "connectionState": "Disconnected", "connectionTime": "No connection was established", "linkAttributes": { "ackSettings": { "dataAckEnabled": "true", "dataAckTimeout": "5000", "dataNakRetryLimit": "0", "retransmitDelay": "500" }, "keepAliveSettings": { "keepAliveAckTimeout": "5000", "keepAliveInterval": "30000" }, "logTraffic": "false", "port": "9999", "role": "server" }, "protocol": "snmp" } }, "queueStats": {} }

注:このソリューションは、主に jq のようなツールを持たないレガシー システム向けです。 何らかの理由でそれらをインストールする機会がありません。


Linux
  1. LinuxターミナルでJSONファイルをきれいに印刷する方法

  2. Linuxコマンドラインツールを使用してJSONを解析してきれいに印刷する方法

  3. 2つのファイルを2つの列に印刷しますか?

  1. 一致する行と一致する行からN番目の行を印刷しますか?

  2. Ssh –保護されたファイルをサーバー間で1行にコピーしますか?

  3. テキストファイルの行を1行上または下に移動するにはどうすればよいですか?

  1. ファイルの内容をエンコードして1行としてエコーしますか?

  2. CLI から、ファイルの最後の行を出力します。

  3. Linux で数値の統計を出力するコマンド ライン ユーティリティ