jsonオブジェクトを削除する必要があるjsonファイルがあります。 は、sedコマンドでのみ削除する方法はありません。 サンプルファイルは以下のとおりです。JsonファイルからJsonファイルを削除するには、BASHのsedコマンドで
{
"name": "ABC",
"description": "XYZ",
"versions": {
},
"json_class": "Chef::Environment",
"chef_type": "environment",
"default_attributes": {
},
"override_attributes": {
"company": {
"xyz": {
"mailer":{
"smtp_host": "Some IP",
"imap_host": "Some Host",
"imap_user": "Some UserId",
"reply_to": "Some User Id",
"outbound_user": "",
"imap_mail_domain": "compute.oraclecloud.com",
"imap_password": ""},
"logicaldomainname": ""
}
}
}
}
このファイルでは、sedコマンドでmailerオブジェクトをファイルから削除します。 sedコマンドで可能であれば、どうぞ教えてください。
この削除の主な目的は、このオブジェクトを新しい メーラオブジェクトに置き換えることです。 次回、別のメーラーオブジェクトが投稿されるときにxyz jsonオブジェクトに追加するよりも遅くなります。
予想される出力:
{
"name": "ABC",
"description": "",
"version": {
},
"json_class": "Chef::Environment",
"chef_type": "environment",
"default_attributes": {
},
"override_attributes": {
"Company": {
"XYZ": {
"logicaldomainname": ""
}
}
}
}
私たちのマシンでは、いくつかのライセンス条項のため実際には使用できません。しかしawkを使うことができます。 –
'sed'は間違いなく適切です。 'jq'がオプションでない場合は、PerlやPythonの使用を考慮する必要があります:彼らは素晴らしいjsonライブラリを持っています。 –
は期待される出力を加えました.. –