средствами линукс шелла обрабатывать огромные объемы информации. то есть элементарными cut, sed, grep, tr, sort + base64, jq и все в этом стиле. но скорости не хватает, приходится ждать минутами-часами, а иногда все настолько плохо что надо выбрасывать готовый скрипт и писать минипрогу на расте. раст с этим справляется, однако процесс написания проги недопустимо долгий несмотря на то, что вроде бы опыта уже прилично
глянул-посмотрел вроде дописывать вспомогательные функции бесполезно, грепы и каты уже есть в итераторах в виде filter, split и множества других функций. но упростить процесс хочется. насколько реально написать макрос который будет компилить оптимизированный код на основе синтаксиса схожего с башем (шеллом)? либо вообще куда можно копнуть в моей ситуации?
nushell? pipe/data-oriented shell со своими командами, с плагинами, реализация на расте. https://www.nushell.sh/book/nushell_map_imperative.html https://www.nushell.sh/book/nushell_map.html - примеры аналогов команд с других шеллов
Что именно ты обрабатываешь? Посмотри на vector.dev, например. Или на https://github.com/pipebase/pipebase . Возможно, они сильно упростят тебе задачи.
спасибо, похоже на что-то подходящее. очень интересно и необычно
текстовые либо бинарные файлы которые я превращаю в текстовые всевозможного содержания - иногда логи, иногда просто набор кучи строк с мусором где надо найти что-то полезное, огромные json'ы...
я так понял, эти предложенные варианты не подходят
он гоняет по пайпам структурированные данные => не нужно парсить/сериализовать всё на каждом пайпе
О, это таки кто-то изобрел)) Но баш может гонять любой бинарник, а эта штука?
это ещё PowerShell изобрёл
Имею ввиду, в мире линукса
тоже любые, но чтобы пользоваться встроенными фильтрами для структурированных данных, нужно их из текста распарсить с помощью билтинов
Ну ладно, убедили.
типа вот /home/goldstein/pets/comma(master)> cargo c --message-format json | lines | each { from json | get reason } | uniq Finished dev [unoptimized + debuginfo] target(s) in 0.05s ───┬─────────────────────── 0 │ compiler-artifact 1 │ build-script-executed 2 │ compiler-message 3 │ build-finished ───┴───────────────────────
Обсуждают сегодня