У меня есть файл, такой как файл test.yaml, текстовый контент в файле, как показано ниже.Чтобы удалить строку на основе строки
servers:
- uri: "http://demo.nginx1.com/status"
name: "NGinX Monitor1"
- uri: "http://demo.nginx2.com/status"
name: "NGinX Monitor2"
Я хочу удалить - URI линии и немедленным следующая строка (начать с именем :) где имя хоста = demo.nginx1.com. Я хочу, чтобы это было как показано ниже.
servers:
- uri: "http://demo.nginx2.com/status"
name: "NGinX Monitor2"
Я привязал, как показано ниже .. кошка test.yaml | grep -v demo.nginx1.com | grep -v Monitor1 >> test_back.yaml mv test_back.yaml test.yaml
Я получаю ожидаемый выход. Но это повторное создание файла, и я не хочу, чтобы заново создать файл
Пожалуйста, помогите мне с соответствующей командой, что я могу использовать ..
Вы можете форматировать свой текст, как он находится в файле? Вы написали его как одну строку, но в своем объяснении вы указываете несколько строк (ближайшая следующая строка). – palako
############## серверов: - uri: "http://demo.nginx1.com/status" имя: "NGinX Monitor1" - uri: «http://demo.nginx2.com/status» имя: «NGinX Monitor2» ########### –
так что это одна линия? и вы хотите удалить части строки, а не строки, правильно? как он выглядел бы после того, как вы удалили части, которые вам не интересны? – palako