#1
|
|||
|
|||
Описание к эхам
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
|
|||
|
|||
Описание к эхам
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
|
|||
|
|||
Описание к эхам
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
|
|||
|
|||
Описание к эхам
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
|
|||
|
|||
Описание к эхам
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
|
|||
|
|||
Описание к эхам
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
|
|||
|
|||
Описание к эхам
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
|
|||
|
|||
Описание к эхам
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
|
|||
|
|||
Описание к эхам
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
|
|||
|
|||
Описание к эхам
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 |