Це питання мені приходило кілька разів раніше, зараз у відповідь на запитання Прокручуйте через фрагменти бінарних даних від stdin у відповіді Bash, подані на /programming/993434/what-language-is-to-binary -as-perl-is-to text також не був задовільним.
Я шукаю сценарій сценаріїв, призначений спеціально для обробки вводу / виводу з бінарними файлами. Я знаю, що можу використовувати одну з повноцінних мов програмування (c / Python / ...), але вони мають величезну ініціалізацію та кодування накладних витрат (розподіл та fread / fwrite в c, бітстринг в Python ...), не кажучи вже про вони менш підходять для створення сценаріїв (виклик з нього інших програм). Perl не кращий зі своїми unpack
функціями, орієнтованим на рядки та гуфічним синтаксисом.
Щось схоже od
, але як мова.
Що я очікую:
- встановити або змінити витримкість за допомогою одного перемикача / команди.
- проста специфікація необхідного типу (що - щось на зразок розширення Баша
read var
зint32 var
, іfloat var
так далі). - обробка двійкових через труби, пропускання заданої кількості байтів.
- стандартний контроль потоку сценарію (для / якщо / ...), до якого ми звикли.
Я хотів би обробити необроблені дані (фотографії, наукові дані, невідомі та погано задокументовані формати) з такою ж легкістю та розумінням, що ви отримуєте під час огляду файлів ASCII. Я зараз використовую c
, але це не оптимально для спеціальних сценаріїв і не може бути інтерактивним.
Хтось знає такий інструмент? Жодного програмного забезпечення для графічного графічного інтерфейсу, будь ласка, воно потребує роботи над ssh, з інших сценаріїв тощо. "Не існує" - прийнятна, але гнітюча відповідь.
perl
's unpack
(ᵔᴥᵔ)
chain = ls["-a"] | grep["-v", "\\.py"] | wc["-l"]; chain()
ви це подивилися?