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

1

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

Eu tentei com cat -v , que supostamente exibe caracteres não imprimíveis, mas não os exibe como esperado (sem diferença visual entre as linhas). Por exemplo,

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

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

Existe alguma outra maneira?

Nota: Eu estou no macOS Sierra, no entanto eu tenho acesso aos comandos GNU e BSD cat :

$ 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 ...]
    
por kenorb 22.11.2017 / 14:03

1 resposta

2

gnu cat tem a opção -E para isso, com uma entrada como

printf " one \ntwo \t\n"

imprimirá

 one $
two    $

Existem muitas maneiras de emular esse comportamento, por ex. use sed no modo "raw":

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) ...

    
por 22.11.2017 / 14:29