如何顯示文字檔案中的尾隨空格?

如何顯示文字檔案中的尾隨空格?

我希望能夠列印並查看文字檔案中的尾隨空格(僅顯示,而不刪除)。

我嘗試過使用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

這將突出顯示模式(在本例中為尾隨空白)...

相關內容