Eu não estou no HP-UX, então isso só foi verificado em xd (1) :
xd -b -An -v $filename
-
-An
impede que o deslocamento seja mostrado -
-b
é padronizado para bytes únicos, (octal paraod
, hex paraxd
) -
-v
impede que linhas idênticas sejam substituídas por*
(Muitos sistemas, inclusive meu, têm od
, mas não xd
. Então, para portabilidade, eu uso od -tx1 -An -v $filename
.)
Isso produzirá bytes hexadecimais individuais, com um espaço entre cada um. Alterar o comando tr
para tr -d [:space:]
removerá todos os espaços em branco, não apenas as novas linhas.
Juntando tudo isso, você precisa substituir as partes xxd
e tr
do seu script para que a linha fique assim:
xd -b -An -v $filename | tr -d '[:space:]' | grep -i "**STRING**" > /dev/null