Como exibir espaços em branco no arquivo de texto?

Como exibir espaços em branco no arquivo de texto?

Gostaria de poder imprimir e ver os espaços em branco no arquivo de texto (apenas exibir, não remover).

Eu tentei com cat -vo qual supor exibir caracteres não imprimíveis, mas ele não os exibe conforme o esperado (sem diferença visual entre as linhas). Por exemplo

$ printf "foo\nbar \t\n" > file.txt
$ cat -v file.txt 
foo
bar     

Por espaços em branco de impressão/exibição, quero dizer alguma indicação humana visual de que o espaço em branco final está lá em comparação com outras linhas sem, seja por algum caractere especial, cor (como quando os arquivos são exibidos usando git diff) ou algo semelhante.

Existe alguma outra maneira?


Nota: estou no macOS Sierra, mas tenho acesso aos catcomandos GNU e BSD:

$ type -a cat
cat is /usr/local/opt/coreutils/libexec/gnubin/cat
cat is /bin/cat
$ cat --version
cat (GNU coreutils) 8.28
$ /bin/cat --version
/bin/cat: illegal option -- -
usage: cat [-benstuv] [file ...]

Responder1

gnu cattem a -Eopção para isso, então com uma entrada como

printf " one \ntwo \t\n"

ele irá imprimir

 one $
two    $

Existem muitas maneiras de emular esse comportamento, por exemplo, use sedno modo "bruto":

sed -n l infile

ou

paste -d '$' infile /dev/null

ou use qualquer ferramenta de processamento de texto para adicionar $antes de cada nova linha ...

Você também pode tentar algo como

less -p '[[:blank:]]+$' infile

que irá destacar o padrão (neste caso, os espaços em branco)...

informação relacionada