Linux - cat / head / tail / cut / nl / od / join / paste / tr



 ◆ catコマンド - ファイルの内容を表示する

 
◆ 構文 : cat [ オプション ] ファイル名

オプション 説明
-n  各行ごとに行番号を付加


 ◆ 実行例 : data.txt のファイルの内容を表示
 $ cat data.txt


 ◆ 実行例 : 「data1.txt」と「data2.txt」の2つのファイルを「newdata.txt」というファイル1つにまとめる
 $ cat data1.txt data2.txt > newdata.txt
 ※ data1.txt と data2.txt のファイル内容を全て表示させてリダイレクト ( > ) で newdata.txt ファイルに書き込む。




 ◆ head コマンド - ファイルの先頭10行を表示する

 
◆ 構文 : head [ オプション ] ファイル名

オプション 説明
-n  先頭から表示する行数の指定
-行数  先頭から表示する行数の指定
-c バイト数  先頭から表示するバイト数の指定


 ◆ 実行例 : ファイルの1行目から3行目までを表示 ( 下記コマンドは head -3 test.txt と入力しても同じ結果 )
 $ head -n 3 test.txt




 ◆ tail コマンド - ファイルの末尾10行を表示する

 
◆ 構文 : tail [ オプション ] ファイル名

オプション 説明
-n  末尾から表示する行数の指定
-行数  末尾から表示する行数の指定
-c バイト数  末尾から表示するバイト数の指定
-f  ファイルの末尾に追加された行をリアルタイムで表示


 ◆ 実行例 : ファイルの末尾から3行を表示 (下記コマンドは tail -3 test.txt と入力しても同じ結果)
 $ tail -n 3 test.txt


 ◆ 実行例 : /var/log/messages のファイルの末尾10行をリアルタイムに表示
 $ tail -f /var/log/messages



    



 ◆ cutコマンド - テキストファイルの各行から指定した部分の文字列を取り出して表示する

 
◆ 構文 : cut [ オプション ] ファイル名

オプション 説明
-c 文字数  指定したテキストファイルから切り出す文字位置を指定
-d 区切り文字  フィールドの区切り文字を指定
-f フィールド  取り出すフィールドの指定


 ◆ 実行例 : ファイルの各行において、5文字目を切り出す
 $ cut -c 5 test.txt


 ◆ 実行例 : ファイルの各行において、1文字目から5文字目を切り出す
 $ cut -c 1-5 test.txt


 ◆ 実行例 : 区切り文字を 「 : 」 として、/etc/passwd ファイルの各行において、第5フィールドのみ切り出す
 $ cut -d: -f 5 test.txt




 ◆ nl コマンド - 文字列の行だけでなくヘッダ、本文、フッタの部分に分けて行番号を付ける

 
◆ 構文 : nl [ オプション ] ファイル名

オプション 説明
-b パラメータ  本文に行番号を付加
-h パラメータ  ヘッダに行番号を付加
-f パラメータ  フッタに行番号を付加

パラメータ 説明
a  全ての行に番号をつける
t  空白行には番号をつけない
n  行番号の付加をつけない


 ◆ 実行例 : data.txt のファイルの本文の全ての行に番号をつける
 $ nl -b a data.txt




 ◆ od コマンド - バイナリファイルの内容をASCII文字、8進数、16進数のいずれかで表示できる

 
◆ 構文 : od [ オプション ] ファイル名

オプション 説明
-j  バイナリファイルの bytes の場所から表示を開始
-t  表示タイプの指定(以下のようなタイプを指定可能)

タイプ指定文字 説明
a  文字の名前
c  ASCII文字かバックスラッシュつきのエスケープ文字
d  符号付きの10進数
f  浮動小数点数
o  8 進数
u  符号なしの10進数
x  16 進数


 ◆ join コマンド - 2つのファイルを読み込み、共通のフィールドを持つ行の連結を行う

 
◆ 構文 : join [ オプション ] ファイル名1 ファイル名2

オプション 説明
-j フィールド  連結するフィールドの指定


 ◆ 実行例 : 「data1.txt」と「data2.txt」ファイルの第1フィールドに基づいて連結
 $ join -j 1 data1.txt data2.txt




 ◆ paste コマンド - 1つ以上のファイルを読み込み、一致する行を区切り文字を使用して連結する

 ◆ 構文 : paste [ オプション ] ファイル名1 ファイル名2

オプション 説明
-d 区切り文字  区切り文字の指定


 ◆ 実行例 : 「data1.txt」と「data2.txt」ファイルを、区切り文字に「 , 」を使用して文字の連結
 $ paste -d"," date1.txt date2.txt




 ◆ tr コマンド - 文字列の変換、削除を行う

 ◆ 構文 : tr [ オプション ] 文字列1 [ 文字列2 ]

オプション 説明
-d  「文字列1」で合致した文字列の削除
-s  連続するパターン文字列を1文字として処理

文字列の指定方法 説明
  [ :alpha:]  英字
  [ :lower:]  英小文字
  [ :upper:]  英大文字
  [ :digit:]  数字
  [ :alnum:]  英数字
  [ :space:]  スペース


 ◆ 実行例 : data.txtファイルにある小文字全てを大文字に変更
 $ cat data.txt | tr [:lower:] [:uppder:]
 ※ パイプ ( | ) という機能を使用することで、コマンドの出力結果を、別のコマンドに引き渡せられます。


 ◆ 実行例 : data.txtファイルにある小文字全てを大文字に変更 ( 上記コマンドと同じ結果 )
 $ cat data.txt | tr 'a-z' 'A-Z'
 ※ パイプ ( | ) という機能を使用することで、コマンドの出力結果を、別のコマンドに引き渡せられます。


 ◆ 実行例 : data.txtファイルにある 「 : 」を削除して表示
 $ tr -d : < file1



Linux 技術入門

Copyright(C) 2002-2024 ネットワークエンジニアとして All Rights Reserved