昨日のシェル芸ヴェンキョウカイ(問5)で話題(?)になった、catコマンドのオプションについて。これはさらりとオプションの再確認だけ…

テストデータ

問5;https://github.com/ryuichiueda/ShellGeiData/blob/master/vol.18/Q5/text

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
あ
あ




い
い

う

え



お お
お
お

内容

「cat」は「concatenate」のcatです。
(COBOLer的に言うと、いわゆるコンカチってやつね! DDじゃなくてcat!)

オプション

  • -s 連続した空白を1行に。
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
% cat -s text
あ
あ

い
い

う

え

お お
お
お

  • -n 行番号を表示
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
% cat -n -s text
     123
     456
     78
     910
    11  お お
    1213
制御文字を見えるようにする系
  • -v 制御文字を可視化
  • -e 制御文字を可視化しつつ行末文字を表示($) ※eはendのe?
  • -t 制御文字を可視化しつつタブ文字を表示(^I) ※tはtabのt?
  • -te 制御文字を可視化しつつ行末文字($)とタブ文字(^I)を表示
別のファイルを使って確認してみます
1
2
3
4
5
6
7
% cat file
a
 b
    tabline

c

制御文字表示の確認

1
2
3
4
5
6
7
% cat -te file
a$
 b$
^Itabline$
$
c$