Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Убрать строки между символами  (Прочитано 681 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн edwkazar

  • Автор темы
  • Новичок
  • *
  • Сообщений: 14
    • Просмотр профиля
Убрать строки между символами
« : 21 Февраля 2020, 15:45:19 »
Добрый день. Прошу помочь разобраться с вопросом. Есть файл, примерпервая строка
<!--вторая строка
третья строка -->
четвертая строка
Необходимо обработать файл убрать все что находится между символами <!-- -->. Результат будетпервая строка
четвертая строка
Пробывал через sedsed '/<!--/,/-->/d'Но отработало странно, вывело не все.
(Нажмите, чтобы показать/скрыть)
« Последнее редактирование: 21 Февраля 2020, 17:48:55 от zg_nico »

Оффлайн Peter_I

  • Старожил
  • *
  • Сообщений: 3026
    • Просмотр профиля
Re: Убрать строки между символами
« Ответ #1 : 21 Февраля 2020, 19:24:33 »
Это можно и без sed, двойным вызовом grep.
egrep -v "<!--" file | egrep -v -e "-->"
Пётр.

Оффлайн ReNzRv

  • Старожил
  • *
  • Сообщений: 2648
    • Просмотр профиля
Re: Убрать строки между символами
« Ответ #2 : 21 Февраля 2020, 19:45:03 »
awk 'BEGIN{p=1};{if(/^<!--/){p=0};if(/-->$/){p=1;next}}p' fileЭтот вариант будет убирать и все строки между
символами <!-- -->, но их не сожержащих, например:
первая строка
<!--вторая строка
третья строка
четвертая строка-->
пятая строка

 

Страница сгенерирована за 0.044 секунд. Запросов: 25.