forum.wfido.ru

forum.wfido.ru (https://forum.wfido.ru/index.php)
-   RU.FTN.DEVELOP (https://forum.wfido.ru/forumdisplay.php?f=73)
-   -   Nodelist - это CVS файл (https://forum.wfido.ru/showthread.php?t=135083)

Nil A 14.04.2025 08:32

Nodelist - это CVS файл
 
Nil A написал(а) к All в Apr 25 07:00:40 по местному времени:

* Originally in nino.046.local
* Crossposted in ru.ftn.develop
Нello, All!

Я вдруг посмотрел на nodelist файл, как на CVS файл просто :-)

Щас проверил. Берём grep -v '^;' nodelist.075 > nodelist.cvs и оно тупо открывается в M$ Экселе.

2EG: Без изобретений велосипедов, берёшь любую либо, на твоём языке, которая парсит CVS и вперёд.
Хорошая либа использует SIMD инструкции, потому что можно сразу SSE2, AVX2, AVX512 читать. Если либа не умеет, пишешь свою и выкладываешь на гитхаб. Собес в Яндекс или Сбер проходишь.
Например, сразу по 32 байта грузишь [b]mm256_loadu_si256, и _mm256_cmpeq_epi8 проверяешь на запятую, на \r, на \n, потом маски делаешь _mm256_movemask[/b]epi8, их через or, и ты сразу знаешь позицию следующего поля, или перевода строки.

Best Regards, Nil
--- GoldED+/LNX 1.1.5-b20240306

Alexey Khromov 14.04.2025 16:42

Nodelist - это CVS файл
 
Alexey Khromov написал(а) к Nil A в Apr 25 15:20:33 по местному времени:

Здраствуйте, Nil!

NA> Я вдруг посмотрел на nodelist файл, как на CVS файл просто :-)
NA> Щас проверил. Берём grep -v '^;' nodelist.075 > nodelist.cvs и оно
NA> тупо открывается в M$ Экселе.

Похож, да не совсем. Переменное количество полей в CVS не предполагалось.
Однако, если все разделители до флагов преобразовать к "точке с запятой", а поле флагов рассматривать целиком - вполне годно (так, в-общем то, оно и работает на С).
Чуть более сложная обработка для зон и сетей еще - их надо запоминать и подставлять в начало строки каждого узла.

Можно awk-ом/sed-ом отформатировать, по-идее ;)

Alexey Khromov
--- GoldED+/LNX 1.1.5-b20250407


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

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