The OpenNET Project / Index page

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

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

"помогите пожалуста по shell"
Сообщение от sewa emailИскать по авторуВ закладки on 06-Сен-03, 02:28  (MSK)
хочу узнать как можно читая файл и дойдя до определённого места удалить всё прочитанное. Конкретно нужно дойти до оределённой даты а старое удалить. Сбасибо всем кто ответит
  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

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

1. "помогите пожалуста по shell"
Сообщение от Lex emailИскать по авторуВ закладки on 06-Сен-03, 08:06  (MSK)
>хочу узнать как можно читая файл и дойдя до определённого места удалить
>всё прочитанное. Конкретно нужно дойти до оределённой даты а старое удалить.
>Сбасибо всем кто ответит

Теоретически можно так: создать новый файл, далее читая старый в цикле сделать проверку по дате, если такая встретилась, то переписать от неё до конца в другой файл...
Это, на мой взгляд очень простой способ, но если большие объёмы, то лучше придумать другой способ.

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

3. "помогите пожалуста по shell"
Сообщение от sewa emailИскать по авторуВ закладки on 10-Сен-03, 07:49  (MSK)
>Теоретически можно так: создать новый файл, далее читая старый в цикле сделать
>проверку по дате, если такая встретилась, то переписать от неё до
>конца в другой файл...
>Это, на мой взгляд очень простой способ, но если большие объёмы, то
>лучше придумать другой способ.


Вообщем такое дело  начало скрипта такое
     #!/bin/sh
     cat  file | awk '{if($0 ~ /метка/) print $0' > file2
      в файл идут только строки которые соответсвуют метке
     А как организовать что бы записывался текст после первой найденной метки?
     Дай совет как это написать по человечески?

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

5. "помогите пожалуста по shell"
Сообщение от Lex emailИскать по авторуВ закладки on 10-Сен-03, 08:20  (MSK)
>     Дай совет как это написать по человечески?

Покажи структуру файла, или сам файл...

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

8. "помогите пожалуста по shell"
Сообщение от Bootmen emailИскать по авторуВ закладки on 16-Сен-03, 09:43  (MSK)
>>d>     #!/bin/sh
>     cat  file | awk '{if($0 ~ /метка/) print $0' > file2
>      в файл идут только строки которые
>соответсвуют метке
>     А как организовать что бы записывался текст
>после первой найденной метки?


Немного добавить и будет как хочешь:

#!/bin/sh
cat  file | awk 'BEGIN { start = 0 }
$0 ~ "метка" | start == 1 { print $0 ; start = 1 }' > file2

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

2. "помогите пожалуста по shell"
Сообщение от SergeiZz Искать по авторуВ закладки on 08-Сен-03, 09:02  (MSK)
>хочу узнать как можно читая файл и дойдя до определённого места удалить
>всё прочитанное. Конкретно нужно дойти до оределённой даты а старое удалить.
Если каждой дате соответствует своя строка, то можно воспользоваться sed.
Но, если файл -- это поток символов без разделителей записей (состоит из
слов, но не из предложений), то проще, думаю, написать утилитку на C++
(Ruby, Perl, awk).


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

4. "помогите пожалуста по shell"
Сообщение от sewa emailИскать по авторуВ закладки on 10-Сен-03, 07:52  (MSK)

>Если каждой дате соответствует своя строка, то можно воспользоваться sed.
>Но, если файл -- это поток символов без разделителей записей (состоит из
>
>слов, но не из предложений), то проще, думаю, написать утилитку на C++
>
>(Ruby, Perl, awk).

Вообщем такое дело  начало скрипта такое
     #!/bin/sh
     cat  file | awk '{if($0 ~ /метка/) print $0' > file2
      в файл идут только строки которые соответсвуют метке
     А как организовать что бы записывался текст после первой найденной метки?
     Дай совет как это написать по человечески?

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

6. "помогите пожалуста по shell"
Сообщение от konst emailИскать по авторуВ закладки on 10-Сен-03, 13:44  (MSK)
>
>>Если каждой дате соответствует своя строка, то можно воспользоваться sed.
>>Но, если файл -- это поток символов без разделителей записей (состоит из
>>
>>слов, но не из предложений), то проще, думаю, написать утилитку на C++
>>
>>(Ruby, Perl, awk).
>
>Вообщем такое дело  начало скрипта такое
>     #!/bin/sh
>     cat  file | awk '{if($0 ~ /метка/) print $0' > file2
>      в файл идут только строки которые
>соответсвуют метке
>     А как организовать что бы записывался текст
>после первой найденной метки?
>     Дай совет как это написать по человечески?
>
Знаю как на Перл
#!/bin/sh
perl -e 'while(<>) { /метка/ && $ok =1; $ok && print; }' < file


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

7. "помогите пожалуста по shell"
Сообщение от vnp emailИскать по авторуВ закладки on 12-Сен-03, 00:20  (MSK)
>
>>Если каждой дате соответствует своя строка, то можно воспользоваться sed.
>>Но, если файл -- это поток символов без разделителей записей (состоит из
>>
>>слов, но не из предложений), то проще, думаю, написать утилитку на C++
>>
>>(Ruby, Perl, awk).
>
>Вообщем такое дело  начало скрипта такое
>     #!/bin/sh
>     cat  file | awk '{if($0 ~ /метка/) print $0' > file2
>      в файл идут только строки которые
>соответсвуют метке
>     А как организовать что бы записывался текст
>после первой найденной метки?
>     Дай совет как это написать по человечески?
>

sed -e '1,/метка/d'

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


Удалить

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




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

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