The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Чистка файла, !*! syncer, 24-Май-08, 12:49  [смотреть все]
Есть потребность искать в файле блок такого вида:

some value {
...
...
...
}
и удалять по какому нибудь признаку
, с помощью чего или как можно полностью удалить такой блок?

  • Чистка файла, !*! phpcoder, 23:17 , 24-Май-08 (1)
    >, с помощью чего или как можно полностью удалить такой блок?

    С помощью sed'а. Я бы привел пример, если бы вы привели входные и выходные данные.


    • Чистка файла, !*! syncer, 23:22 , 24-Май-08 (2)
      >>, с помощью чего или как можно полностью удалить такой блок?
      >
      >С помощью sed'а. Я бы привел пример, если бы вы привели входные
      >и выходные данные.

      Вобще-то есть потребность чистить dhcpd.leases

      lease 192.168.94.254 {
        starts 4 2008/05/22 14:23:41;
        ends 4 2008/05/22 14:25:12;
        tstp 4 2008/05/22 14:25:12;
        binding state free;
        hardware ethernet 00:16:d4:62:e5:08;
        uid "\001\000\026\324b\345\010";
      }
      Мне надо вытирать такие вот блоки по ИП

      причем между "{ }" не всегда одинаковое количество строк

      • Чистка файла, !*! phpcoder, 23:50 , 24-Май-08 (3)
        >[оверквотинг удален]
        >  starts 4 2008/05/22 14:23:41;
        >  ends 4 2008/05/22 14:25:12;
        >  tstp 4 2008/05/22 14:25:12;
        >  binding state free;
        >  hardware ethernet 00:16:d4:62:e5:08;
        >  uid "\001\000\026\324b\345\010";
        >}
        >Мне надо вытирать такие вот блоки по ИП
        >
        >причем между "{ }" не всегда одинаковое количество строк

        Как-то так:

        sed -n ':s;/lease 192.168.94.254/{:l;n;/}/{n;bs};bl};p' file

        • Чистка файла, !*! syncer, 01:12 , 25-Май-08 (4)
          >[оверквотинг удален]
          >>  hardware ethernet 00:16:d4:62:e5:08;
          >>  uid "\001\000\026\324b\345\010";
          >>}
          >>Мне надо вытирать такие вот блоки по ИП
          >>
          >>причем между "{ }" не всегда одинаковое количество строк
          >
          >Как-то так:
          >
          >sed -n ':s;/lease 192.168.94.254/{:l;n;/}/{n;bs};bl};p' file

          Огромное и человеческое Тебе СПАСИБО!




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру