@nullpopopoさんの記事を受けて、自分もやってみました。
シェル芸空行を出力する(別解) | (っ´∀`)っ ゃー | nullpopopo
さて、FreeBSDには rs(1) という、配列を変換するコマンドがあります。例えば、

1
2
3
4
5
% jot 10 | rs 2 3
1   2   3
4   5   6
```とすれば、上記のように1~10の列を縦2行×横3列にした行列を得ることが出来ます。<br/>
また、引数を1つにすると

% jot 10 | rs 2 1 2 3 4 5 6 7 8 9 10

1
これを応用して…

% echo 1 | rs 11 1

1
1行目を消しましょう。grepで。

% echo 1 | rs 11 | grep -v “1”

1
これを応用して、100行の空行は

% echo 1 | rs 101 | grep -v “1”

1
さて、ここまでの内容を踏まえ、いくつかのパターンで速度の計測です。

$ time echo 1 | rs 1000001 | grep -v “1” > /dev/null

real 0m0.072s user 0m0.024s sys 0m0.058s

1
2
3
4
5
$ time echo 1 | rs 1000001 | awk &#39;NR>1&#39; > /dev/null

real    0m0.275s
user    0m0.202s
sys     0m0.089s

$ time echo 1 | rs 1000000 | tr -d '1' > /dev/null

real 0m0.082s user 0m0.022s sys 0m0.071s ```行をカットするだけならawkよりgrepの方が速いみたいです。ともあれ、rsとても速いですね!!以上!