No POSIX, o comportamento não é especificado para \x
em um regexp básico. Algumas implementações o utilizam para introduzir representações de byte hexadecimal, algumas (como a sua) tratam-no como x
.
POSIXly, você poderia fazer:
(export LC_ALL=C
sed "s/$(printf '737')//") < file.in > file.out
Aqui, você também pode ter alguma sorte com:
< file.in iconv -t UTF-16LE | iconv -f UTF-16 > file.out
Não sei se isso funcionaria no AIX, mas com GNU iconv
, UTF-16
significa UTF-16 com BOM, enquanto UTF-16LE significa UTF-16 little endian, portanto, o segundo iconv
tira a BOM UTF-16LE produzida pela primeira (também funcionaria com UTF-16BE).