我希望能够打印并查看文本文件中的尾随空格(仅显示,而不删除)。
我尝试过使用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
这将突出显示模式(在本例中为尾随空白)...