テキストファイルの末尾の空白を印刷して表示できるようにしたいと思います(削除するのではなく、表示するだけです)。
印刷されない文字を表示することを想定した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 ...]
gnu cat
にはそのための-E
スイッチがあるので、次のような入力を使用します
printf " one \ntwo \t\n"
印刷されます
one $
two $
その動作をエミュレートする方法はたくさんあります。 「raw」モードでsed
を使用します。
sed -n l infile
または
paste -d '$' infile /dev/null
または、テキスト処理ツールを使用して、各改行の前に$
を追加します。
あなたはまた、次のようなものを試すかもしれません
less -p '[[:blank:]]+$' infile
これはパターン(この場合は末尾の空白)を強調表示します...