The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"grep c удалением"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"grep c удалением"
Сообщение от gexa emailИскать по авторуВ закладки on 27-Ноя-02, 11:18  (MSK)
Подскажите как в большом файле сделать grep на определенную строку, и удалить ее после нахождения. Может есть стандартная утилитка?
  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "RE: grep c удалением"
Сообщение от LinaS emailИскать по авторуВ закладки on 27-Ноя-02, 11:30  (MSK)
>Подскажите как в большом файле сделать grep на определенную строку, и удалить
>ее после нахождения. Может есть стандартная утилитка?


grep -v "string_for_delete" file_for_grep > file_for_grep

не подойдет?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "RE: grep c удалением"
Сообщение от Z0termaNN emailИскать по авторуВ закладки on 27-Ноя-02, 12:37  (MSK)
>Подскажите как в большом файле сделать grep на определенную строку, и удалить
>ее после нахождения. Может есть стандартная утилитка?

cat file | sed /pattern/d

  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "RE: grep c удалением"
Сообщение от Марк Искать по авторуВ закладки on 27-Ноя-02, 14:16  (MSK)
Первый пример grep -v "string_for_delete" file_for_grep > file_for_grep
просто обнулить содержимое файла.
Вот другой пример:
fn="/home/user/test" # из этого файла
pattern="test_str"   # удалить строку имеющая pattern
num_str=`cat ${fn} | grep -n ${pattern} | cut -f1 -d":"`
cat ${fn} | sed "${num_str},${num_str}d" > ${fn}
  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "RE: grep c удалением"
Сообщение от Mercurius emailИскать по авторуВ закладки on 27-Ноя-02, 14:22  (MSK)
>Первый пример grep -v "string_for_delete" file_for_grep > file_for_grep
>просто обнулить содержимое файла.
>Вот другой пример:
>fn="/home/user/test" # из этого файла
>pattern="test_str"   # удалить строку имеющая pattern
>num_str=`cat ${fn} | grep -n ${pattern} | cut -f1 -d":"`
>cat ${fn} | sed "${num_str},${num_str}d" > ${fn}

По-моему первый пример можно переделать так
grep -v "sting_for_delete" file_for_grep > another_name
another_name - и будет результирующий файл, если нужно то же имя (ну, к примеру, в скрипте)
почему не сделать потом mv another_name file_for_grep

  Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "RE: grep c удалением"
Сообщение от Марк Искать по авторуВ закладки on 27-Ноя-02, 14:33  (MSK)
Можно.
А если файл file_for_grep содержит секретную информацию с првами -rw-------. А мы командой grep -v "sting_for_delete" file_for_grep > another_name
создаем файл another_name с правами -rw-r--r--. Ясно, что есть вероятность эту информацию обнародывать :)
  Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "RE: grep c удалением"
Сообщение от Марк Искать по авторуВ закладки on 27-Ноя-02, 14:26  (MSK)
По поводу первого примера, то нужно писать так
cat file_for_grep | grep -v "string_for_delete" > file_for_grep
что он работал.

А вот третий пример можно применить для удаления блока строк в файле, ограниченного определенными строками :)

  Рекомендовать в FAQ | Cообщить модератору | Наверх

7. "RE: grep c удалением"
Сообщение от LinaS emailИскать по авторуВ закладки on 27-Ноя-02, 14:41  (MSK)
>Первый пример grep -v "string_for_delete" file_for_grep > file_for_grep
>просто обнулить содержимое файла.

да, пожалуй..
тогда так:

cat file_for_grep|grep -v "string_for_delete" > file_for_grep

это точно работает

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Спонсоры:
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

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