다음 내용이 포함된 파일이 있습니다.
{
"applications": [
{
"id": 2537302,
"name": "addressdb_prod",
"language": "dotnet",
"health_status": "unknown",
"reporting": true,
"last_reported_at": "2017-08-03T10:41:52+00:00",
"application_summary": {
"response_time": 5.04,
more content here....
and finally the following lines towards the end of the file
},
"links": {
"application_instances": [],
"servers": [],
"application_hosts": []
}
}
],
"links": {
"application.servers": "/v2/servers?ids={server_ids}",
"application.server": "/v2/servers/{server_id}",
"application.application_hosts": "/v2/application/{application_id}/hosts?ids={host_ids}",
"application.application_host": "/v2/application/{application_id}/hosts/{host_id}",
"application.application_instances": "/v2/application/{application_id}/instances?ids={instance_ids}",
"application.application_instance": "/v2/application/{application_id}/instances/{instance_id}",
"application.alert_policy": "/v2/alert_policies/{alert_policy_id}"
}
}
내가 원하는 것은 sed
명령을 실행하여 다음 부분을 제거하는 것입니다.
{
"applications": [
파일의 시작부터 다음 섹션부터 파일 끝까지.
],
"links": {
답변1
파일에 다음으로 시작하는 다른 줄이 없다고 가정하면 ],
삭제할 두 범위를 정의하는 것은 매우 간단합니다.
sed '1,/"applications": \[/d
/^[[:blank:]]*\],/,$d' yourfile