У меня есть файл, содержащий 800 строк, например:
id binary-coded-info
---------------------------
4657 001001101
4789 110111111
etc.
где каждый 0 или 1 означает наличие некоторой функции. Я хочу прочитать этот файл и выполнить несколько побитовых логических операций с двоично-кодированной информацией (операции зависят от ввода пользователя и информации из второго файла с 3000 строками). Затем эта пересчитанная двоично-кодированная информация должна быть записана в файл (с завершающими нулями, например
4657 000110011
4789 110110000
etc.
Как мне это сделать, не написав свою собственную базовую процедуру преобразования? Я открыт для чего угодно, даже для языков, которых я не знаю, таких как python, perl и т. д. И это должно работать без компиляции.
До сих пор я пытался писать сценарии, awk и sed по-своему. Это будет означать (я думаю): пакетное чтение как base-2, преобразование в base-10, выполнение побитовых операций в зависимости от пользовательского ввода и второго файла, преобразование в base-2, добавление ведущих нулей и печать. Обычные подсказки консоли для использования bc не кажутся элегантными, потому что у меня много строк в файле. То же самое относится и к dc.sed. И awk, похоже, не имеет эквивалента для пометки ввода как двоичного (как в «echo $((2#101010))» ), а также трюк с printf не работает для двоичного. Итак, как бы я сделал это наиболее элегантно (или вообще, если уж на то пошло)?