bashのheadやtailで省略された行数を一緒に表示する


`head`や`tail`コマンドでファイルの一部を表示したとき、「表示されなかった行が何行あるか」を一緒に表示できないでしょうか。

`file.txt`が以下の内容としたとき

[code]

    aaa
    bbb
    ccc
    ddd
    eee
    
[/code]

このように表示されると嬉しいです

[code]

    $ head -n 3 file.txt
    
    aaa
    bbb
    ccc
    (2lines omitted)
    
[/code]

よろしくお願いいたします。




awkを使うのはいかがでしょうか？

[code]

    awk -v N=3 'NR <= N{print} END {if(NR-N>0)printf("(%dlines omitted)\n",
    NR-N)}' file.txt
    
[/code]

指定行数Nに達するまで`NR <= N{print}`内容を表示し、最後に残り行数を表示します。




awkを使うのはいかがでしょうか？

[code]

    awk -v N=3 'NR <= N{print} END {if(NR-N>0)printf("(%dlines omitted)\n",
    NR-N)}' file.txt
    
[/code]

指定行数Nに達するまで`NR <= N{print}`内容を表示し、最後に残り行数を表示します。

