awk
só faz decimal, octal e hexadecimal, não binário. Você poderia usar perl
:
perl -lane 'BEGIN{$, = " "} print unpack "(H2)*", pack("(B8)4", @F)'
Com dc
e GNU tac
(consulte também tail -r
em alguns sistemas):
{ echo 16o2i; cat; echo f; } < file.txt | dc | tac
Com bc
(supondo que seu erro de sintaxe era sobre o operador <<<
zsh
usado em um shell diferente de zsh
ou versões recentes de bash
/ ksh93
/ mksh
/ yash
)
{ echo 'obase=16; ibase=2'; tr -cs 01 '[\n*]'; } < file.txt | bc