ファイルの真ん中を出力する body というシェルの関数を作った

はてなブログGist からの貼付けに対応したようなのでさっそく試してみる。

これは何?

ファイルの先頭だけを表示する head, 末尾だけを表示する tail というコマンドがあるので、それに習ってファイルの真ん中を表示する body というシェルの関数を作ってみた。開始と終了の行番号を指定したら、フアイルのその範囲内だけを出力してくれる。

ソースコード

これを .bashrc とか .zshrc に書けば OK。

開始行と終了行を指定して、ファイルのその範囲内だけを出力するシェルの関数

使い方

body 開始,終了 フアイル名 という形式で使える。

# file1.txt の10行目から20行目までを出力する
% body 10,20 file1.txt

開始、終了を省略することもできる。省略したらそれぞれ「先頭行から」、「末尾行まで」という意味になる。

# 1行目から20行目までを出力する
% body ,20 file1.txt

# 10行目からファイルの最後までを出力する
% body 10, file1.txt

それと、ファイル名を省略したら標準入力から読み込むようになる。

なんかテキストファイルにずらずらメモ書きして、必要なとこだけ取り出したい時に使うと便利。