如何显示文本文件中的尾随空格?

如何显示文本文件中的尾随空格?

我希望能够打印并查看文本文件中的尾随空格(仅显示,而不删除)。

我尝试过使用cat -v它来显示非打印字符,但它没有按预期显示它们(行之间没有视觉差异)。例如

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

通过打印/显示空白,我的意思是一些视觉人类指示,与其他行相比,尾随空白存在,或者通过某些特殊字符,颜色(例如当使用显示文件时git diff)或类似的东西。

还有其他办法吗?


注意:我使用的是 macOS Sierra,但是我可以访问 GNU 和 BSDcat命令:

$ 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 ...]

答案1

gnu cat-E这样的开关,所以输入类似

printf " one \ntwo \t\n"

它会打印

 one $
two    $

有很多方法可以模拟该行为,例如sed在“原始”模式下使用:

sed -n l infile

或者

paste -d '$' infile /dev/null

$或使用任何文本处理工具在每个换行符之前添加一个...

你也可以尝试类似的东西

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

这将突出显示模式(在本例中为尾随空白)...

相关内容