После того, как я выгрузил файл в восьмеричном формате, как я могу отменить этот процесс? Я нашел несколько других вопросов, связанных с этим, но во всех этих случаях выбор флагов для команды od
приводит к тому, что результат содержит шестнадцатеричные символы. Многие из них, кажется, используют команду xxd -r
, чтобы изменить ее, но даже после прочтения руководства я не могу заставить ее работать с восьмеричной.
Соответствие POSIX было бы неплохо, но не обязательно. Я пытаюсь избежать зависимостей, если это возможно для переносимости.
Я по существу пытаюсь сделать следующее:
$ cat hello.txt
Hello World!
$ od hello.txt
0000000 062510 066154 020157 067527 066162 020544 000012
0000015
$ od hello.txt | something_goes_here
Hello World!
od -b
, который является восьмеричным, но побайтовым,od -b file | while read -a x && (( ${#x[@]} > 1 )); do ( IFS=\\; printf "\\${x[*]:1}" ); done
для bash или| while read a b && [ ! -z "$b" ]; do ( set $b; IFS=\\; printf "\\$*" ); done
для POSIX - person dave_thompson_085   schedule 16.11.2020