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


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Выборочное удаление блоков в файле с помощью sed  (Прочитано 2920 раз)

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

Оффлайн Azure

  • Модератор раздела
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
alexander.pronin,
(Нажмите, чтобы показать/скрыть)
В Linux можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
alexander.pronin,
(Нажмите, чтобы показать/скрыть)
Вариант от 0 до 7 строчек внутри блока.
#! /usr/bin/env python
# -*- coding: UTF-8 -*-
import re

l=open('./test', 'rb').read()

print 'old:'
print l

print 'new:'
print re.compile('\n.*Begin\n(.*\n){0,7}end2\n').sub('\n',l)

Здесь проблемы могут быть только в составлении правильного регулярного выражения.
А в принципе, проблем нет.
« Последнее редактирование: 12 Февраля 2014, 08:35:56 от alexander.pronin »

Оффлайн JmAbuDabi

  • Старожил
  • *
  • Сообщений: 2468
  • 나는 빅터 해요. 나는 프로그래머입니다
    • Просмотр профиля
(Нажмите, чтобы показать/скрыть)
Покой – это не место, где тихо и мирно, где нет шума и беспокойства.
Покой – это когда при всем этом, вы сохраняете мир и спокойствие в своем сердце.

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
А откуда мне знать, что от 0 до 7 строк ???

\n.*Begin\n(.*\n){0,7}end2\n
« Последнее редактирование: 12 Февраля 2014, 09:05:00 от alexander.pronin »

Оффлайн JmAbuDabi

  • Старожил
  • *
  • Сообщений: 2468
  • 나는 빅터 해요. 나는 프로그래머입니다
    • Просмотр профиля
(Нажмите, чтобы показать/скрыть)
Покой – это не место, где тихо и мирно, где нет шума и беспокойства.
Покой – это когда при всем этом, вы сохраняете мир и спокойствие в своем сердце.

 

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