Tenho certeza de que os bytes zero também são exibidos quando você usa cat
. Você simplesmente não os vê porque eles são ... zero bytes, e o seu terminal não exibe nada quando alimentado com zero bytes.
Por outro lado, se um arquivo é, de fato, armazenado esparsamente, está em detalhes de implementação do sistema de arquivos. Ferramentas como less
e cat
não sabem (na verdade, não podem saber) e não se importam se o arquivo é escasso. Se o arquivo contiver uma execução de zero bytes, então assim será. Ele poderia ter contido, em vez disso, um valor inteiro de bytes é 1, e seria tudo a mesma coisa para eles.
Se o que você deseja fazer é filtrar zero bytes e exibir todos os bytes restantes com less
, basta usar um filtro para excluir esses bytes:
tr -d \000 < inputfile | less