forum.wfido.ru  

Вернуться   forum.wfido.ru > Прочие эхи > RU.LINUX

Ответ
 
Опции темы Опции просмотра
  #1  
Старый 18.01.2022, 20:22
Dmitriy Orlov
Guest
 
Сообщений: n/a
По умолчанию Описание к эхам

Dmitriy Orlov написал(а) к All в Jan 22 22:22:30 по местному времени:

Нello All.

Парни, хелпните плиз!

Есть файл со списом эх без описаний. Хочу сделать чтоб при запросе %avail отдавался спосок эх с описанием. Для этого он мне нужен в формате:

ECНO.TAG "описание"

В фэхе XOFCНUBSLIST нашел список эх с узла 2:5020/830 где большинство описаний есть, вот теперь надо как-то сопоставить эти файлы.

Своим умом я допёр что без grep тут не обойдётся и сделал:

grep -i -f echos.txt ech00830.avl

Но как и ожидалось в выводе я получил кучу лишних эх которые попали под маску.
То есть если в файле echos.txt была эха RU.CARS, то в вывод у меня попал не только RU.CARS но и RU.CARS.AUDI, RU.CARS.BMW и тд..

Подскажите как в этом случае соринетировать grep на поиск?

Dmitriy

--- GoldED/2 3.00.Beta5 UNREG
Ответить с цитированием
  #2  
Старый 18.01.2022, 22:42
Nil A
Guest
 
Сообщений: n/a
По умолчанию Описание к эхам

Nil A написал(а) к Dmitriy Orlov в Jan 22 21:30:46 по местному времени:

Нello, Dmitriy!

Tuesday January 18 2022 22:22, from Dmitriy Orlov -> All:

DO> grep -i -f echos.txt ech00830.avl
DO> Но как и ожидалось в выводе я получил кучу лишних эх которые попали
DO> под маску. То есть если в файле echos.txt была эха RU.CARS, то в вывод
DO> у меня попал не только RU.CARS но и RU.CARS.AUDI, RU.CARS.BMW и тд..

sed 's/\(.*\)/^\1\\s/' echos.txt >echos_regexp.txt
grep -i -f echos_regexp.txt ech00830.avl

Best Regards, Nil
--- GoldED+/LNX 1.1.5
Ответить с цитированием
  #3  
Старый 20.01.2022, 18:22
Dmitriy Orlov
Guest
 
Сообщений: n/a
По умолчанию Описание к эхам

Dmitriy Orlov написал(а) к Nil A в Jan 22 19:49:40 по местному времени:


18 Jan 22, Nil A wrote to Dmitriy Orlov:

DO>> grep -i -f echos.txt ech00830.avl
DO>> Но как и ожидалось в выводе я получил кучу лишних эх которые
DO>> попали под маску. То есть если в файле echos.txt была эха
DO>> RU.CARS, то в вывод у меня попал не только RU.CARS но и
DO>> RU.CARS.AUDI, RU.CARS.BMW и тд..
NA> sed 's/\(.*\)/^\1\\s/' echos.txt >echos_regexp.txt
NA> grep -i -f echos_regexp.txt ech00830.avl
Получилось! Спасибо!
Только из вывода пропали эхи, которые есть в echos.txt, но которых нет в ech00830.avl :)

Bye,
Dmitry.

--- GoldED/2 3.00.Beta5 UNREG
Ответить с цитированием
  #4  
Старый 20.01.2022, 20:43
Nil A
Guest
 
Сообщений: n/a
По умолчанию Описание к эхам

Nil A написал(а) к Dmitriy Orlov в Jan 22 19:30:06 по местному времени:

Нello, Dmitriy!

Thursday January 20 2022 19:49, from Dmitriy Orlov -> Nil A:

DO>>> grep -i -f echos.txt ech00830.avl
DO>>> Но как и ожидалось в выводе я получил кучу лишних эх которые
DO>>> попали под маску. То есть если в файле echos.txt была эха
DO>>> RU.CARS, то в вывод у меня попал не только RU.CARS но и
DO>>> RU.CARS.AUDI, RU.CARS.BMW и тд..
NA>> sed 's/\(.*\)/^\1\\s/' echos.txt >echos_regexp.txt
NA>> grep -i -f echos_regexp.txt ech00830.avl
DO> Получилось! Спасибо!
DO> Только из вывода пропали эхи, которые есть в echos.txt, но которых нет
DO> в ech00830.avl :)

Тогда твоя задача решается вообще без grep, а с join.

sort echos.txt | join -i -a1 - ech00830.avl

Best Regards, Nil
--- GoldED+/LNX 1.1.5
Ответить с цитированием
  #5  
Старый 21.01.2022, 10:22
Dmitriy Orlov
Guest
 
Сообщений: n/a
По умолчанию Описание к эхам

Dmitriy Orlov написал(а) к Nil A в Jan 22 09:21:25 по местному времени:


20 Jan 22, Nil A wrote to Dmitriy Orlov:

NA>>> sed 's/\(.*\)/^\1\\s/' echos.txt >echos_regexp.txt
NA>>> grep -i -f echos_regexp.txt ech00830.avl
DO>> Получилось! Спасибо!
DO>> Только из вывода пропали эхи, которые есть в echos.txt, но
DO>> которых нет в ech00830.avl :)
NA> Тогда твоя задача решается вообще без grep, а с join.
NA> sort echos.txt | join -i -a1 - ech00830.avl
Йес! То что надо! Спасибо, ты настоящий друг!

Bye,
Dmitry.

--- GoldED/2 3.00.Beta5 UNREG
Ответить с цитированием
  #6  
Старый 21.01.2022, 23:21
Dmitriy Orlov
Guest
 
Сообщений: n/a
По умолчанию Описание к эхам

Dmitriy Orlov написал(а) к Nil A в Jan 22 20:42:15 по местному времени:


18 Jan 22, Nil A wrote to Dmitriy Orlov:

DO>> grep -i -f echos.txt ech00830.avl
DO>> Но как и ожидалось в выводе я получил кучу лишних эх которые
DO>> попали под маску. То есть если в файле echos.txt была эха
DO>> RU.CARS, то в вывод у меня попал не только RU.CARS но и
DO>> RU.CARS.AUDI, RU.CARS.BMW и тд..
NA> sed 's/\(.*\)/^\1\\s/' echos.txt >echos_regexp.txt
А как можно взять в "" описание эхи?
Чтоб было вот так:

ECНO.TAG "описание"

А то фаста без кавычек теряет некоторые буквы в описаниях. Я правда пытался сам разобраться, весь вечер читал доку по regexp, начитался и сделал вот так

sed s/\( .*$\)/"\1\"/ ech00830.avl

Получил вот это:

=== Cut ===
1072.COMPNEWS" Новости компьютеpного миpа"
1072.COMPNEWS.TALK" Обсуждение новостей по компьютерам"
10TН_AMD" 10th Amendment Echo"
1200.PVT" Локалка MSX Vision"
1200.ROBOTS
1200.ROBOTS.OS2
1200.ROBOTS.PIC
=== Cut ===

Уже почти, но пробел попадает в кавычки..

Bye,
Dmitry.

--- GoldED/2 3.00.Beta5 UNREG
Ответить с цитированием
  #7  
Старый 22.01.2022, 01:42
Nil A
Guest
 
Сообщений: n/a
По умолчанию Описание к эхам

Nil A написал(а) к Dmitriy Orlov в Jan 22 00:26:50 по местному времени:

Нello, Dmitriy!

Friday January 21 2022 20:42, from Dmitriy Orlov -> Nil A:

NA>> sed 's/\(.*\)/^\1\\s/' echos.txt >echos_regexp.txt
DO> А как можно взять в "" описание эхи?
DO> Чтоб было вот так:
DO> ECНO.TAG "описание"
DO> sed s/\( .*$\)/"\1\"/ ech00830.avl

ech00830.avl файл в DOS формате, т.е. с <CR><NL> и тут линуксовый sed .* в конце строки хватает этот самый <CR> или \r или 0x0D символ, я бы его просто вырезал сначала.

Объединяю с моим предыдущим "inner join".

sort echos.txt | join -i -a1 - ech00830.avl | sed -e 's/\r//; s/^\(\S\+\s\+\)\(.*\)$/\1"\2"/'

Но на деле, нет смысла расставлять кавычки, если там нет пробелов, так что вот так красивее

sort echos.txt | join -i -a1 - ech00830.avl | sed -e 's/\r//; s/^\(\S\+\s\+\)\(\S\+\s\+.*\)$/\1"\2"/'

Best Regards, Nil
--- GoldED+/LNX 1.1.5
Ответить с цитированием
  #8  
Старый 23.01.2022, 14:22
Dmitriy Orlov
Guest
 
Сообщений: n/a
По умолчанию Описание к эхам

Dmitriy Orlov написал(а) к Nil A в Jan 22 16:43:21 по местному времени:

Нello Nil!

22 Jan 22, Nil A wrote to Dmitriy Orlov:

NA> о на деле, нет смысла расставлять кавычки, если там нет пробелов, так
NA> что вот так красивее
NA> sort echos.txt | join -i -a1 - ech00830.avl | sed -e 's/\r//;
NA> s/^\(\S\+\s\+\)\(\S\+\s\+.*\)$/\1"\2"/'
Попробовал, получилось! Теперь всё как у бабы Кати в трусах! Спасибо!

Bye,
Dmitry.

--- GoldED/2 3.00.Beta5 UNREG
Ответить с цитированием
  #9  
Старый 27.01.2022, 21:23
Dmitriy Orlov
Guest
 
Сообщений: n/a
По умолчанию Описание к эхам

Dmitriy Orlov написал(а) к Nil A в Jan 22 22:41:38 по местному времени:

Нello Nil!

22 Jan 22, Nil A wrote to Dmitriy Orlov:

NA> Объединяю с моим предыдущим "inner join".
NA> sort echos.txt | join -i -a1 - ech00830.avl | sed -e 's/\r//;
NA> s/^\(\S\+\s\+\)\(.*\)$/\1"\2"/'
NA> о на деле, нет смысла расставлять кавычки, если там нет пробелов, так
NA> что вот так красивее
NA> sort echos.txt | join -i -a1 - ech00830.avl | sed -e 's/\r//;
NA> s/^\(\S\+\s\+\)\(\S\+\s\+.*\)$/\1"\2"/'

В общем я увлёкся сабжем и решил создать файл с описанием ваще всех эх со всех линков :-\ Потом сделать этот файл доступным фидошной общественности, вдруг кому-то пригодится :)

Чтоб начать мне надо понимать к каким именно эхам у меня нет описания.

Вот например мой файл с описаниями:

=== Cut ===
MO.CARS "Эха Московских автомобилистов"
MO.CARS.AUDIO "Все об авто-аудиоаппаратуре"
MO.CARS.AUDI_VW "Общение владельцев AUDI и VolskWagen"
MO.CARS.NIVA "Вcе об автомобилях Нива"
MO.CARS.OKA "Все об автомобиле ОКА"
RU.CARS.LADA "Автомобили ВАЗ" === Cut ===

Вот файл от линка:

=== Cut ===
ru.cars
ru.cars.daewoo
ru.cars.lada
=== Cut ===

Как получить в вывод эху ru.cars.daewoo ?

Bye,
Dmitry.

--- GoldED/2 3.00.Beta5 UNREG
Ответить с цитированием
  #10  
Старый 27.01.2022, 21:23
Michael Dukelsky
Guest
 
Сообщений: n/a
По умолчанию Описание к эхам

Michael Dukelsky написал(а) к Nil A в Jan 22 20:16:52 по местному времени:

Привет, Nil!

27 January 2022 22:41, Dmitriy Orlov послал(а) письмо к Nil A:

NA>> Объединяю с моим предыдущим "inner join".
NA>> sort echos.txt | join -i -a1 - ech00830.avl | sed -e 's/\r//;
NA>> s/^\(\S\+\s\+\)\(.*\)$/\1"\2"/'
NA>> о на деле, нет смысла расставлять кавычки, если там нет пробелов,
NA>> так что вот так красивее sort echos.txt | join -i -a1 -
NA>> ech00830.avl | sed -e 's/\r//;
NA>> s/^\(\S\+\s\+\)\(\S\+\s\+.*\)$/\1"\2"/'

DO> В общем я увлёкся сабжем и решил создать файл с описанием ваще всех эх
DO> со всех линков :-\ Потом сделать этот файл доступным фидошной
DO> общественности, вдруг кому-то пригодится :)

DO> Чтоб начать мне надо понимать к каким именно эхам у меня нет описания.

DO> Вот например мой файл с описаниями:

DO> === Cut ===
DO> MO.CARS "Эха Московских автомобилистов"
DO> MO.CARS.AUDIO "Все об авто-аудиоаппаратуре"
DO> MO.CARS.AUDI_VW "Общение владельцев AUDI и VolskWagen"
DO> MO.CARS.NIVA "Вcе об автомобилях Нива"
DO> MO.CARS.OKA "Все об автомобиле ОКА"
DO> RU.CARS.LADA "Автомобили ВАЗ" === Cut ===

DO> Вот файл от линка:

DO> === Cut ===
DO> ru.cars
DO> ru.cars.daewoo
DO> ru.cars.lada
DO> === Cut ===

DO> Как получить в вывод эху ru.cars.daewoo ?

Ты попался. :)

Желаю успехов, Nil!
За сим откланиваюсь, Michael.

... node (at) f1042 (dot) ru
--- GoldED+/LNX 1.1.5-b20180707
Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 03:00. Часовой пояс GMT +4.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot