先頭から最初の数行を表示してくれます。デフォルトでは、10行を表示する ことになっています。例えば、
と実行すれば最初の10行だけを表示し、行数を指定する場合、例えば、
head -1 ファイル名 または head -n 1 ファイル名
と実行すると、最初の1行だけ表示します。試しに、.cshrcファイルの 先頭の8行だけ表示させると、
% head -8 .cshrc # @(#).cshrc ################################################################# # # .cshrc file # ################################################################# # # set up search path
のようになりました。
ls でよく使う別のオプションとして、
を紹介しました。「ls -al」がファイル名をアルファベット順に並べるのに対し て、「ls -alt」は更新時 刻のもっとも新しい順に並べます。ちなみに、オプションの並べ方には違いがありませ んので、「ls -tla」でも「ls -atl」でも変わりはありません。
ここでは、「ls -alt」と「head」を組み合わせて処理してみます。 まずは、「ls -alt」だけを実行すると、
% ls -alt 合キ[ 44 drwx-----x 11 susaki teacher 512 4月 16 16:51 . drwx-----x 2 susaki teacher 1024 4月 16 16:48 command drwx--s--x 45 susaki teacher 2560 4月 16 16:39 .. drwx-----x 3 susaki teacher 1024 4月 16 16:35 literacy drwx-----x 3 susaki teacher 512 4月 15 14:25 gis drwx-----x 6 susaki teacher 1024 3月 1 13:40 lab drwx-----x 2 susaki teacher 2048 1月 29 11:45 soft drwx-----x 2 susaki teacher 512 1月 7 09:38 perl drwx-----x 10 susaki teacher 1024 7月 31 2001 lecture drwx-----x 2 susaki teacher 512 6月 29 2001 image drwxr-x--- 2 susaki teacher 512 6月 28 2001 applets
この結果のうち、最初の3行だけ取り出すとなると、 | (パイプ)を 用いて「head」を組み合わせると、
% ls -alt | head -3 合キ[ 44 drwx-----x 2 susaki teacher 1024 4月 16 16:52 command drwx-----x 11 susaki teacher 512 4月 16 16:51 .
のように表示されます。
「tail」は”しっぽ”という意味で、「head」とは逆に終わりからの数行を 表示してくれます。デフォルトでは、10行を表示することになっています。例えば、
と実行すれば終わりの10行だけを表示し、行数を指定する場合、例えば、
tail -1 ファイル名 または tail -n 1 ファイル名
とすれば終わりの1行だけを表示してくれます。
上記の「head」で示した例を「tail」にも適用すると
% ls -alt | tail -3 drwx-----x 10 susaki teacher 1024 7月 31 2001 lecture drwx-----x 2 susaki teacher 512 6月 29 2001 image drwxr-x--- 2 susaki teacher 512 6月 28 2001 applets
上記の「head」の例では、
% ls -alt | head -3 合キ[ 44 drwx-----x 2 susaki teacher 1024 4月 16 16:52 command drwx-----x 11 susaki teacher 512 4月 16 16:51 .
のように、先頭の3行といっても、「合計44」のような文字列も一行と数えられ て表示されていることがわかります。もし、本当に最新のファイルおよびディレ クトリだけを表示させるためには、どうすればいいでしょうか?
ここで、「head」と「tail」を併用する方法があります。まず、下記のように実 行させると、
% ls -alt | head -2 合キ[ 44 drwx-----x 2 susaki teacher 1024 4月 16 16:52 command
相変わらず「合計44」という文字列も表示されてしまいます。そこで、「tail」 を | で連結させると、
% ls -alt | head -2 | tail -1 drwx-----x 2 susaki teacher 1024 4月 16 16:52 command
と、望みの結果が表示されました。