head と tail を使うとき、行数指定方法について。動作確認は GNU coreutils 8.19 で行っている。 head と tail のは-n 数字(あるいは--line 数字)で出力する行数を指定できる。 # 先頭3行を表示 $ seq 10 | head -n 3 1 2 3 # 末尾3行を表示 $ seq 10 | tail -n 3 8 9 10 オプションで与える数字には、プラスがつく場合、マイナスがつく場合、何もつかない場合が考えられるが、記号がついた場合に通常異なる挙動をとる場合が出てくる。 head -n -数字の場合は、「末尾から指定した行数を除いたもの」となる: $ seq 10 | head -n -3 1 2 3 4 5 6 7 tail -n +数字 の場合は、「先頭から数えて指定した行以降のもの」となる: $ seq 10 | tail -n +3