perl -pe '$_=pack"l",$_' < infile > outfile
Usa o endianness local. Use l>
em vez de l
para big-endian e l<
para little-endian.
Veja perldoc -f pack
para mais informações.
Observe que é l
como em minúsculas L
(para inteiro longo ), não em 1
dígitos.
$ printf '%s\n' 1234 -2 | perl -pe '$_=pack"l",$_'| od -vtd4
0000000 1234 -2
0000010
$ printf '%s\n' 1234 -2 | perl -pe '$_=pack"l>",$_'| od -vtx1
0000000 00 00 04 d2 ff ff ff fe
0000010