• Nodelist - это CVS файл

    From Nil A@2:5015/46 to All on Mon Apr 14 07:00:40 2025
    * Originally in nino.046.local
    * Crossposted in ru.ftn.develop
    Hello, All!

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

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

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

    Best Regards, Nil
    --- GoldED+/LNX 1.1.5-b20240306
    * Origin: ChatGPT can make mistakes. Check important info. (2:5015/46)
  • From Alexey Khromov@2:5030/723 to Nil A on Mon Apr 14 15:20:33 2025
    Здраствуйте, Nil!

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

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

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

    Alexey Khromov
    --- GoldED+/LNX 1.1.5-b20250407
    * Origin: - Вы в опасности! Вы окружены роботами! - (2:5030/723)