catコマンド
「cat」は「連結する」を意味するconcatnateの略である。
cat ファイル名
↑でファイルの中身が端末に出力されます。
[cat@ang.tokyo]$cat test.txt
test1
test2
test3
ファイルの中身が大容量の時は滝のように出力されてしまい、下の方しか見えないので、ファイルの中身を見たいだけの時は、「less」とか「view」を使います。
リダイレクト「>」を使うとファイル(左)の中身をファイル(右)へ上書きします。もともとファイル(右)にあった中身は消えてしまうので気をつけましょう。
[cat@ang.tokyo]$cat left.txt
left
[cat@ang.tokyo]$cat right.txt
right
[cat@ang.tokyo]$cat left.txt > right.txt
[cat@ang.tokyo]$cat right.txt
left
「>」ではなく「>>」とすると、上書きではなくもともとあった中身の下に追加します。
[cat@ang.tokyo]$cat left.txt
left
[cat@ang.tokyo]$cat right.txt
right
[cat@ang.tokyo]$cat left.txt >> right.txt
[cat@ang.tokyo]$cat right.txt
right
left
複数のファイルを連結して出力したり新しいファイルを作ることもできます。
[cat@ang.tokyo]$cat left.txt
left
[cat@ang.tokyo]$cat right.txt
right
[cat@ang.tokyo]$cat left.txt right.txt
left
right
[cat@ang.tokyo]$cat left.txt right.txt > concatnate.txt
[cat@ang.tokyo]$cat concatnate.txt
left
right
cat オプション
-n(–number) | 行番号をつけて出力する |
---|---|
-b (–number-nonblank) | -nとは違いblank空白行)には番号をふらない |
-s(–squeeze-blank) | 連続した空白行を1行の空白行にまとめる |
-E(–show-ends) | 各行の最後に”$”を付けて出力 |
-T (–show-tabs) | タブを”^I”に置き換えて出力 |
cat -n ファイル名 #行番号をつけて出力する
[cat@ang.tokyo]$cat dragonball.txt
孫悟空
神龍
亀仙人
ウーロン
クリリン
ヤジロベー
ランファン
[cat@ang.tokyo]$cat -n dragonball.txt
1 孫悟空
2 神龍
3 亀仙人
4
5
6
7 ウーロン
8 クリリン
9 ヤジロベー
10 ランファン
cat -b ファイル名 #-nとは違いblank空白行)には番号をふらない
[cat@ang.tokyo]$cat -b dragonball.txt
1 孫悟空
2 神龍
3 亀仙人
4 ウーロン
5 クリリン
6 ヤジロベー
7 ランファン
cat -s ファイル名 #連続した空白行を1行の空白行にまとめる
[cat@ang.tokyo]$cat -s dragonball.txt
孫悟空
神龍
亀仙人
ウーロン
クリリン
ヤジロベー
ランファン
[cat@ang.tokyo]$cat -ns dragonball.txt
1 孫悟空
2 神龍
3 亀仙人
4
5 ウーロン
6 クリリン
7 ヤジロベー
8 ランファン
cat -E ファイル名 #各行の最後に $ を付けて出力
[parallels@localhost work]$ cat dragonball.txt
かめはめ波
じゃんけんパンチ
狼牙風風拳
排球券
[parallels@localhost work]$ cat -E dragonball.txt
かめはめ波$
じゃんけんパンチ$
$
狼牙風風拳$
$
$
排球券$
私のMACの端末には-Eオプションが使えなかったので、VMのCentOSへ移動しました。
cat -T ファイル名 #タブを”^I”に置き換えて出力
[parallels@localhost work]$ cat sandaibusho.txt
織田 信長
豊臣 秀吉
徳川 家康
[parallels@localhost work]$ cat -T sandaibusho.txt
織田^I信長
豊臣^I秀吉
徳川^I家康
コメント