(登壇準備もある状況ですが、簡略版で1日1エントリをつなぎます)
目次
tailコマンドと+
でできるよ!
環境情報
macOS 12.6.3のPC(zshがデフォルト)で、bashを立ち上げて動作確認しました。
% bash $
なお、ここで紹介するtail
コマンドの挙動はzshでも有効でした
動作確認に使ったファイルはこちら
$ cat -n tenshi.txt 1 お 2 隣 3 の 4 天 5 使 6 様 7 に 8 い 9 つ 10 の 11 間 12 に 13 か 14 駄 15 目 16 人 17 間 18 に 19 さ 20 れ 21 て 22 い 23 た 24 件
末尾n=10行を表示(いつもの)
$ cat -n tenshi.txt | tail 15 目 16 人 17 間 18 に 19 さ 20 れ 21 て 22 い 23 た 24 件
$ cat -n tenshi.txt | tail -n 10 15 目 16 人 17 間 18 に 19 さ 20 れ 21 て 22 い 23 た 24 件
$ cat -n tenshi.txt | tail -n -10 15 目 16 人 17 間 18 に 19 さ 20 れ 21 て 22 い 23 た 24 件
$ cat -n tenshi.txt | tail -10 15 目 16 人 17 間 18 に 19 さ 20 れ 21 て 22 い 23 た 24 件
man tail
を見ていきましょう1:
-n number, --lines=number
The location is
number
lines.
例を交えた説明もあります
Numbers having a leading minus (‘-’) sign or no explicit sign are relative to the end of the input
マイナス符号から始まる数、または符号がない数は、入力の終わりからの相対です
The default starting location is “-n 10”, or the last 10 lines of the input.
デフォルトの開始位置は-n 10
、すなわち入力の最後の10行です
-n 10
, -n -10
, -10
すべて同じ出力となるのですね!
n=10行目以降を表示(Today I learned!)
+を使うとできます!
さらに、指定した行以降末尾まで全行表示されます。
9行除いたことになります
$ cat -n tenshi.txt | tail -n +10 10 の 11 間 12 に 13 か 14 駄 15 目 16 人 17 間 18 に 19 さ 20 れ 21 て 22 い 23 た 24 件
$ cat -n tenshi.txt | tail +10 10 の 11 間 12 に 13 か 14 駄 15 目 16 人 17 間 18 に 19 さ 20 れ 21 て 22 い 23 た 24 件
man tail
より
Numbers having a leading plus (‘+’) sign are relative to the beginning of the input
プラス符号から始まる数は、入力の始まりからの相対です
プラス符号は先頭のN行目から(末尾まで)の指定ができるのです!
先頭のN-1行が除かれ、N行目以降が出力されます。
-n +10
と単に+10
は、コマンドの出力としては同じです。
この学びから導かれることとして、cat tenshi.txt
とtail -n +1 tenshi.txt
(1行目から末尾まで出力)は、出力としては同じなんです!
$ tail -n +1 tenshi.txt お 隣 の 天 使 様 に い つ の 間 に か 駄 目 人 間 に さ れ て い た 件