The OpenNET Project / Index page

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

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

"diff, или как это можно сделать?"  
Сообщение от slider email(ok) on 08-Май-08, 14:02 
Привет! Прошу помощи или совета.
Вкратце: есть выходной поток одной программки, которая выдает N строк по cron. Мне нужно хранить все уникальные строки, которые она выдает в одном файле, и генерить файл со строками, которых не было раньше, в другом. А сформировав этот файл с отличиями, пристыковать эти отличия к общему списку.

Выглядит вроде просто, да что-то не могу сообразить, чем и как делать. :-[

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "diff, или как это можно сделать?"  
Сообщение от phpcoder email(??) on 08-Май-08, 14:15 
>Привет! Прошу помощи или совета.
>Вкратце: есть выходной поток одной программки, которая выдает N строк по cron.
>Мне нужно хранить все уникальные строки, которые она выдает в одном
>файле,

sort -u >uniq.list

> и генерить файл со строками, которых не было раньше,

что-то вроде comm -13 before file >new.list

>в другом. А сформировав этот файл с отличиями, пристыковать эти отличия к
>общему списку.

cat new >>full.list

>Выглядит вроде просто, да что-то не могу сообразить, чем и как делать.
>:-[

man sort
man comm

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "diff, или как это можно сделать?"  
Сообщение от slider email(ok) on 08-Май-08, 15:05 
Спасибо!

>sort -u >uniq.list

это я сообразил. хотелось "в одну строчку сделать"

>man comm

оказался очень полезным.

результат у меня получился такой:
cat ./from.list | sort -u ./file.common - | comm -13 ./file.common - | tee -a ./file.common > ./file.new

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "diff, или как это можно сделать?"  
Сообщение от phpcoder email(??) on 08-Май-08, 15:08 
>результат у меня получился такой:
>cat ./from.list | sort -u ./file.common - | comm -13 ./file.common - | tee -a ./file.common > ./file.new

Можно и cat выкинуть.

sort -u ./file.common <./from.list | comm -13 ./file.common - | tee -a ./file.common > ./file.new

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "diff, или как это можно сделать?"  
Сообщение от slider email(ok) on 08-Май-08, 15:15 
вот с конструкцией <...> у меня всегда проблемы :)))
а cat у меменя здесь заменяет stdout, потому как в действительности я должен подхватывать именно его.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




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

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