ここでは,ごく簡単で,しかも便利な用途が広がるコマンドのいくつかを紹介する. 実際に,コマンドを実行させて,その表示結果や意味などを検討することが大切である.
以下のコマンドは,今後必須の前提知識として説明なして利用する.
% cat file1 file2 file3 ....
% nkf -s file > sjis
オプション | 意味 |
---|---|
-j | JIS漢字コードに変換 |
-e | EUC漢字コードに変換 |
-s | シフトJISコードに変換 |
注意:
本学のUnixの漢字コードはEUCである.
Unixに接続されているプリンタから,Windowsで作成したテキストファイル(シフトJIS漢字コードで書かれている)sjis.txtの内容をプリンタからする前には,漢字コードの変更が必要である.
逆に,Unixで作成したテキストをWindowsやMacintoshを使って作業を続けるためには,漢字コードをShift JISに変更しておく必要がある.
テキストファイルをPostscriptに変換するためのコマンドが『 a2ps 』である (ただし、漢字はUnix用に変換されていることが前提).
たとえばテキストファイルreport.txtをPostscriptプリンタで印刷するには次のようにする.
プログラムの解説によく見られるように,行番号を付けて印刷するには% a2ps report.txt | lpr
とすればよい.% a2ps --line-numbers=1 report.txt | lpr
知っていると便利なオプションを,表に示す.
オプション | 意味 |
---|---|
-R | A4用紙を立てに使うことをを指定している. このオプションがなければA4用紙を横にして(landscape)2 段組に印刷される(字が細かくてもよい場合や多くの文字数があるファイルの印刷に向いている). |
--line-numbers=1 | 全ての行に行番号を付ける |
-Tn | タブの文字数をn文字にする.デフォルトは8文字. |
オプション | 意味 |
---|---|
-n | 数値として比較 |
-r | 逆順にソート |
-f | 大文字と小文字を区別しない |
+i | i番目のフィールド以降を比較(最初のフィールドは0番目). |
フィールドとは"単一の空白文字(空白またはタブ)で区切られた領域"である. 空白が2つ以上続いた場合,先頭の空白が区切り文字として扱われ,2番目以降は次のフィールドに含まれる.
演習:ls コマンドでのロングフォーマットにおけるフィールドを調べ上げよ.
で『i』に適当なフィールド数を入れて% ls -al | sort +i
% head -20 file
演習:ホームにある適当なファイルを使って,ファイルの先頭表示行数を変えてheadコマンドを実行してみよ.
% tail -20 file
演習:ホームにある適当なファイルを使って,ファイルの末尾表示行数を変えてtailコマンドを実行してみよ.
演習:次のコマンドの意味を説明せよ
% cat file | head -50 | tail -10
は,左からファイルfileの行数,単語数,文字数(コントロール文字を含む)を返している.ただし,文字数はバイト数で表示されるため,日本語の場合は1文字あたり2文字とカウントされる(Shift-JIS,EUCの場合).% wc file 100 340 1234 number
個々の情報だけを表示するには,次のオプションを使う.
オプション | 意味 |
---|---|
-l | 行(Line)数の表示 |
-w | 単語(Word)数の表示 |
-c | 文字(Character)数(バイト単位)の表示 |
オプションを複数指定すれば,指定した順番に表示させることができる.
は,拡張子.txtの付くすべてのファイルの行数を表示する.% wc -l *.txt
演習:ホームディレクトリにあるすべてのファイルをその行数の少ない順に表示するにはどうすればよいか.