【Linux】ファイルの中身を確認!catコマンドについて
【Linux】ファイルの中身を確認!catコマンドについて
Linuxでは、様々なコマンドがありますが、今回はcatコマンドについて紹介して行きます。
catコマンドの使い方
新規ファイルの作成
まずはこんな中身のテキストファイルを作ってみましょう。「新規ファイルを作成する」操作もcatコマンドで行うことが出来ます。
$ cat > test01.txt #このようにコードを入力して下さい
abc #ここからファイルの内容です
def
ghi
jkl
mno
pqr
stu
vwx
yz #これが最後の行です
# ctrl + D のショートカットキーで終了します。
日本語で書いた説明文は「コメント」といいます。「#」(シャープ)を先頭に記述することによってPCのコマンド操作には関係のない、「人が理解するための説明」をファイルに残しておくことが出来ます。
また、「>」は「リダイレクト」というもので、「標準出力(本来ディスプレイに表示されるもの)」の出力先を指定しています。今回で言うと新規作成した「test01.txt」がリダイレクト先ですね。その後に入力した「aaa…」から続くテキストをファイルに書き込んでいるのです。
ファイルの中身を確認する
catコマンドでもっともよく知られている使い方が「ファイルの中身を確認する」ではないでしょうか。先ほど作成したテキストファイルをcatコマンドを使って確認してみましょう。
コードの基本構文は以下の通りです。
$ cat [オプション] 対象ファイル(複数選択可)
実際にコードを入力してみると
$ cat test01.txt
このようになります。先ほど記述した通りの内容が表示されましたか?
オプションコマンド
-n(--number)
「-n」のオプションコマンドをつけることで、ファイル内容の各行行番号をつけて表示することが出来ます。()の中身はロングオプションといってこのような書き方でもオプションコマンドとして利用することが出来ます。なぜわざわざ手間のかかるロングオプションも紹介しているかというと、英語が省略されていないので意味が理解しやすいからです。オプションコマンドの意味と一緒に理解しましょう。
$ cat -n test01.txt
1 abc
2 def
3 ghi
4 jkl
5 mno
6 pqr
7 stu
8 vwx
9 yz
少し見やすくなりましたね。では次はこのようなテキストファイルを作成してみましょう。
cat > test02.txt
ABC #今度は大文字です
DEF
#改行も同じように記述してください
GHI
MNO
PQR
STU
VWX
YZ
できましたでしょうか。改行は何行でもいいのですが、必ず空白の行を「2行以上」作ってくださいね。この改行の意味は次のオプションで紹介します。
-b (--number-nonblank)
blankなし(空白行を入れずに)番号をつけて表示するオプションコマンドです。「blank」だから「b」だと理解すると覚えやすいですね。
今回は先程改行を入れて作成した「test02.txt」を見てみましょう。「-n」のオプションコマンドだと…
$ cat -n test02.txt
1 ABC
2 DEF
3
4
5
6 GHI
7 MNO
8 PQR
9 STU
10VWX
11YZ
改行もカウントされていますね。
「-b」オプションだと…
cat -b test02.txt
1 ABC
2 DEF
3 GHI
4 MNO
5 PQR
6 STU
7 VWX
8 YZ
このように表示されます。
-s (--squeeze-blank)
「-s」のオプションコマンドは連続した改行を1行にまとめることができます。
$ cat -s test02.txt
ABC
DEF
GHI
MNO
PQR
STU
VWX
YZ
さっきよりも見やすくなっていますね。
-A (--show-all)
「-A」オプションは「すべての非表示文字を表示する」ことができます。非表示文字とは基本的には画面に表示されない文字の事です。タブは「^I」と、行の最後は「$」としてすることが出来ます。
$ cat -A test02.txt
ABC$
DEF$
$
$
$
GHI$
MNO$
PQR$
STU$
VWX$
YZ$
パイプとの組み合わせ
catコマンドの使い方としては先程までのようにファイルの中身全てを確認すると、画面は高速で流れていき、画面に表示しきれなかった内容は見直すことが出来ません。ファイルの中身全てを確認するときは「less」「more」「vi」などを使用した方が便利です。ですので、「パイプ」を使って「出力結果」を基に違う操作を行うことで、catコマンドをより使いこなせるようになります。
$ cat test01.txt | grep jkl
jkl
このように、「grep」コマンドで、確認した文字列だけを表示することが出来ます。
ファイルを連結する
また、複数のファイル内容を連結することも出来ます。
$ cat test01.txt test02.txt
というように入力することで、続けて表示することができます。この内容を保存したい場合は、
$ cat test01.txt test02.txt > sample.txt
このようにリダイレクトで「sample.txt」という新しいファイルに保存することができました。
まとめ
いかかでしょうか。catコマンドは基本のコマンドですが、しっかりと理解することで確実なスキルを身に付けられるようにしましょう。