最近知りました.
LC_MESSAGES=ja_JP.UTF-8のcat(1)
$ LC_MESSAGES=ja_JP.UTF-8 man cat | grep '\-A' -A25
-A, --show-all -vET と同じ
-b, --number-nonblank
空行以外に行番号を付ける。-n より優先される
-e -vE と同じ
-E, --show-ends
行の最後に $ を付ける
-n, --number
全ての行に行番号を付ける
-s, --squeeze-blank
連続した空行の出力を行わない
-t -vT と同じ
-T, --show-tabs
TAB 文字を ^I で表示
-u (無視)
-v, --show-nonprinting
^ や M- 表記を使用する (LFD と TAB は除く)LC_MESSAGES=Cのcat(1)
$ LC_MESSAGES=C man cat | grep '\-A' -A26
-A, --show-all
equivalent to -vET
-b, --number-nonblank
number nonempty output lines, overrides -n
-e equivalent to -vE
-E, --show-ends
display $ at end of each line
-n, --number
number all output lines
-s, --squeeze-blank
suppress repeated empty output lines
-t equivalent to -vT
-T, --show-tabs
display TAB characters as ^I
-u (ignored)
-v, --show-nonprinting
use ^ and M- notation, except for LFD and TABテストファイル作成
$ echo 'hoge > fuga > ' | unix2dos > /tmp/test
odで中身確認
$ od -xc /tmp/test
0000000 6f68 6567 0a0d 6609 6775 0d61 0d0a 000a
h o g e \r \n \t f u g a \r \n \r \n
0000017普通にcat
$ cat /tmp/test hoge fuga
-T でTABを ^I として表示$ cat -T /tmp/test hoge ^Ifuga
-v で\nやTABを除く制御コードを表示ここでは\rが^Mとして表示されている$ cat -v /tmp/test hoge^M fuga^M ^M
-t で -vT と同じ$ cat -t /tmp/test hoge^M ^Ifuga^M ^M
-E で行末に$を表示.\rがあると頭に付いてしまうよう$ cat -E /tmp/test $oge $ fuga $
Note追記 2020-02-10)
Debianでreportbugしたらpatchが :)
Debian 11 BullseyeやUbuntu 21.04に入るかな?
https://bugs.debian.org/cgi-bin/bugreport.cgi?att=1;bug=982208;filename=cat—show-ends.diff;msg=10 🏛️
-A で -vET と同じ$ cat -A /tmp/test hoge^M$ ^Ifuga^M$ ^M$
-n で行番号を表示$ cat -n /tmp/test
1 hoge
2 fuga
3-An で行番号と記号$ cat -An /tmp/test
1 hoge^M$
2 ^Ifuga^M$
3 ^M$vimでは :set list, :set number でだいたい同じ感じでしょうか.
vim
1 hoge$ 2 ^Ifuga$ 3 $
環境
$ cat --version cat (GNU coreutils) 8.32 Copyright (C) 2020 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Written by Torbjorn Granlund and Richard M. Stallman. $ dpkg-query -W coreutils coreutils 8.32-4+b1 $ lsb_release -dr Description: Debian GNU/Linux bullseye/sid Release: unstable $ uname -m x86_64