Supondo que seu arquivo não contenha nenhuma outra linha que comece com ],
, é muito simples definir dois intervalos a serem excluídos:
sed '1,/"applications": \[/d
/^[[:blank:]]*\],/,$d' yourfile
Eu tenho um arquivo com o conteúdo abaixo:
{
"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}"
}
}
O que eu gostaria é que o comando sed
seja executado para remover as partes abaixo:
{
"applications": [
desde o começo do arquivo, e também qualquer coisa começando das partes abaixo até o final do arquivo.
],
"links": {
Supondo que seu arquivo não contenha nenhuma outra linha que comece com ],
, é muito simples definir dois intervalos a serem excluídos:
sed '1,/"applications": \[/d
/^[[:blank:]]*\],/,$d' yourfile
Tags text-processing sed