「Linuxコマンド - head」の版間の差分
3行目: | 3行目: | ||
<br><br> | <br><br> | ||
== | == headコマンド == | ||
==== 先頭行からN行を表示する ==== | ==== 先頭行からN行を表示する ==== | ||
テキストファイルの先頭からN行のみを表示する場合は、<code>head</code>コマンドを使用する。<br> | テキストファイルの先頭からN行のみを表示する場合は、<code>head</code>コマンドを使用する。<br> | ||
33行目: | 33行目: | ||
6 | 6 | ||
7 | 7 | ||
<br> | <br><br> | ||
== tailコマンド == | |||
==== 最下行からN行を表示する ==== | ==== 最下行からN行を表示する ==== | ||
テキストファイルの最下行〜N行のみを表示する場合、<code>tail</code>コマンドを使用する。<br> | テキストファイルの最下行〜N行のみを表示する場合、<code>tail</code>コマンドを使用する。<br> | ||
65行目: | 67行目: | ||
9 | 9 | ||
10 | 10 | ||
<br><br> | |||
== headコマンドとtailコマンドを使用したフィルタリング == | |||
==== headコマンドとは ==== | |||
<code>head</code>コマンドは、テキストファイルの最初の10行を表示するコマンドである。<br> | |||
表示する行数は、オプションで変更することができる。<br> | |||
<br> | |||
<code>head</code>コマンドは、パイプと組み合わせて別のコマンドの実行結果の先頭部分を表示する場合に使用されることが多い。<br> | |||
head [オプション] <ファイル名> | |||
コマンド | head [オプション] | |||
<br> | |||
==== headコマンドのオプション ==== | |||
<code>head</code>コマンドのオプションを下表に示す。<br> | |||
<br> | |||
<center> | |||
{| class="wikitable" | style="background-color:#fefefe;" | |||
|- | |||
! style="background-color:#66CCFF;" | オプション | |||
! style="background-color:#66CCFF;" | 説明 | |||
|- | |||
| -c <数字><br>--bytes <数字> || 先頭から指定したバイト数のみ表示する。<br>マイナス(<code>-</code>)付きの数字を指定する場合、末尾の指定分を除いた全てを表示する。<br><br><code>-c 5 b</code>コマンドのように、単位を付加することも可能である。<br> | |||
<code>b</code>の部分には、以下に示すオプションが指定できる。<br> | |||
* b (512) | |||
* KB (1000) | |||
* K (1024) | |||
* MB (1000*1000) | |||
* M (1024*1024) | |||
|- | |||
| -n <数字><br>--lines <数字> || 先頭から指定した行数のみ表示する。<br>マイナス(<code>-</code>)付きの数字を指定する場合、末尾の指定分を除いた全てを表示する。 | |||
|- | |||
| -q<br>--quiet<br>--silent || ファイルごとのヘッダ表示を行わない。(複数ファイルの指定時に付加する) | |||
|- | |||
| -v<br>--verbose || 常にファイルごとのヘッダ出力を行う。 | |||
|} | |||
<br> | |||
</center> | |||
<br> | |||
<u>※注意</u><br> | |||
<u><code>head</code>コマンドのバージョンによっては、<code>head -10</code>のように、-数字」で行数を指定できる場合がある。</u><br> | |||
<u>つまり、<code>head -10</code>と<code>head -n 10</code>は等価となる。</u><br> | |||
<br> | <br> | ||
==== 上からN行目および下からM行目までを表示する ==== | ==== 上からN行目および下からM行目までを表示する ==== |
2023年12月31日 (日) 13:30時点における版
概要
headコマンド
先頭行からN行を表示する
テキストファイルの先頭からN行のみを表示する場合は、head
コマンドを使用する。
head -n <行数> # headコマンドで先頭から指定した行数分表示する
ファイルやコマンド実行結果等から、最初の数行のみを表示する場合は、
head
コマンドを使用することで、先頭行から数えて指定行数までを表示することができる。
以下の例では、head
コマンドで上3行を表示している。
seq 1 10 | head -n 3 1 2 3
先頭行から下からN行目までを表示する
head
コマンドにマイナスの行数Nを指定することで、先頭行〜最下行からN行目までを表示することができる。
head -n -<末尾からの行数> # headコマンドにマイナスの行数指定で末尾N行を除いて表示する
マイナスの行数は、最下行から数えた行数を意味し、head
コマンドは先頭行からその行までを表示する。
つまり、head
コマンドへのマイナス行数の指定は、最下行からN行を消去するという処理になる。
seq 1 10 | head -n -3 1 2 3 4 5 6 7
tailコマンド
最下行からN行を表示する
テキストファイルの最下行〜N行のみを表示する場合、tail
コマンドを使用する。
tail -n <行数> # tailコマンドで下からN行を表示する
ファイルやコマンド実行結果等から下から数行のみを表示する場合は、
tailコマンドを使用することで、最下行から数えて指定行数までを表示することができる。
ログファイルの最新のログのみを参照する場合等、tail
コマンドを使用する。
特に、ログファイルを同期しながら参照する時は、tail
コマンドに-f
オプションを付加する。
seq 1 10 | tail -n 3 8 9 10
先頭行のN行目から最下行までを表示する
tailコマンドに+<行数>を指定することで、先頭のN行目〜最下行までを表示することができる。
tail -n +<行数> # tailコマンドにプラスの行数指定で先頭からN行を除いて表示する
+
が無い場合、最下行から数えてN行目〜最下行までが表示されるが、+
を付加する場合、先頭行のN行目から最下行までが表示される。
この時、表示にはN行目も含まれる。
seq 1 10 | tail -n +3 3 4 5 6 7 8 9 10
headコマンドとtailコマンドを使用したフィルタリング
headコマンドとは
head
コマンドは、テキストファイルの最初の10行を表示するコマンドである。
表示する行数は、オプションで変更することができる。
head
コマンドは、パイプと組み合わせて別のコマンドの実行結果の先頭部分を表示する場合に使用されることが多い。
head [オプション] <ファイル名> コマンド | head [オプション]
headコマンドのオプション
head
コマンドのオプションを下表に示す。
オプション | 説明 |
---|---|
-c <数字> --bytes <数字> |
先頭から指定したバイト数のみ表示する。 マイナス( - )付きの数字を指定する場合、末尾の指定分を除いた全てを表示する。-c 5 b コマンドのように、単位を付加することも可能である。
|
-n <数字> --lines <数字> |
先頭から指定した行数のみ表示する。 マイナス( - )付きの数字を指定する場合、末尾の指定分を除いた全てを表示する。
|
-q --quiet --silent |
ファイルごとのヘッダ表示を行わない。(複数ファイルの指定時に付加する) |
-v --verbose |
常にファイルごとのヘッダ出力を行う。 |
※注意
head
コマンドのバージョンによっては、head -10
のように、-数字」で行数を指定できる場合がある。
つまり、head -10
とhead -n 10
は等価となる。
上からN行目および下からM行目までを表示する
テキストファイルの最上行からN行目〜最下行からM行目までを表示する場合は、head
コマンドとtail
コマンドを組み合わせて使用する。
例えば、テキストファイルからヘッダ部分とフッタ部分を削除する場合は、
ヘッダ部の行数をN行、フッタ部の行数をM行として実行する時、全体からヘッダ部とフッタ部を除いた部分を取得できる。
tail -n +N | head -n -(M-1) # 下からM行目が消えないように、コマンドには1を引いた値を指定する
以下の例では、上から2行目〜下から5行目までを表示している。
まず、tail
コマンドで2行目〜から最下行までを出力して、次に、head
コマンドで下から数えて5行目までを表示している。
head
コマンドに4を指定しているのは、5を指定すると下から5行目も削除されてしまうため、それを避けるためである。
seq 1 10 | tail -n +2 | head -n -4 2 3 4 5 6
下表に、tail
コマンドおよびhead
コマンドが行う処理を視覚的に示す。
tail
コマンドとhead
コマンドのフィルタリングにより、最終的に残るのは2〜6行のみとなる。
表. N=2、M=5で実行した場合(tail -n +2 | head -n -4)
行番号 | 処理1 tail -n +N |
処理2(パイプ) head -n -(M-1) |
出力 |
---|---|---|---|
1 | 消去 | 処理1で消去 | 消去 |
2 | |||
3 | |||
4 | |||
5 | |||
6 | |||
7 | 消去 | 消去 | |
8 | 消去 | 消去 | |
9 | 消去 | 消去 | |
10 | 消去 | 消去 |