Me gustaría poder imprimir y ver los espacios en blanco finales en el archivo de texto (solo mostrarlos, no eliminarlos).
Intenté cat -v
mostrar caracteres que no se imprimen, pero no los muestra como se esperaba (no hay diferencia visual entre las líneas). P.ej
$ printf "foo\nbar \t\n" > file.txt
$ cat -v file.txt
foo
bar
Por imprimir/mostrar espacios en blanco me refiero a alguna indicación visual humana de que el espacio en blanco final está ahí en comparación con otras líneas sin, ya sea por algún carácter especial, color (como cuando los archivos se muestran usando git diff
) o algo similar.
¿Hay alguna otra manera?
Nota: Estoy en macOS Sierra, sin embargo, tengo acceso a cat
los comandos GNU y 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 ...]
Respuesta1
gnu cat
tiene el -E
interruptor para eso, así que con una entrada como
printf " one \ntwo \t\n"
se imprimirá
one $
two $
Hay muchas formas de emular ese comportamiento, por ejemplo, usarlo sed
en modo "sin formato":
sed -n l infile
o
paste -d '$' infile /dev/null
o utilice cualquier herramienta de procesamiento de texto para agregar un $
antes de cada nueva línea...
También puedes probar algo como
less -p '[[:blank:]]+$' infile
que resaltará el patrón (en este caso los espacios en blanco finales)...