電子計測
2001.7.6
通常のコマンドはファイルやディレクトリに関する作業を行う際に、それ単独で使
用するか、パイプにより複数のコマンドを組み合わせて使う。例えば、
$ ls -a | grep Jul
のようにファイル名一覧から7月に作成もしくは編集されたファイルを探したりす ることができる。ここで紹介するコマンドは高度な機能を持ち、ターミナルにおけ るコマンドライン操作である種のスクリプトのように動作させることができるもの である。実際、ログインシェルが立ち上がってデスクトップが整えられるときや、 端末が起動する際にはシェルスクリプトと呼ばれる実行プログラムがたく さん稼働しているが、その中にも良く使用される操作である。
sedはテキストファイルの中身の単語を検索置換する目的で良く使用され
る。また、シェルスクリプトの中でも多く使われているので、理解してお
けば、自分の環境の構築や変更の際にも役に立つ。
操作自体は教科書にある通りであるが、文字列の検索のためには「正規表現」とい う記述方式を知っておく必要がある。正規表現は、ファイル中の文書を文字列の集 合としてとらえ、文字種や登場する場所などを記号で特定するための表現である。 すなわち、「行の先頭にあるある単語を含む文字列」や、「アルファベットの小文 字からなるファイル名」などを検索し、処理の様式にしたがって置換することがコ マンドラインから可能になる。
正規表現については教科書のp.254およびp.255の表を参照してある程度の感覚を理 解しないといけない。実際にどのように動くかの例がp.255から紹介されているの で、それを自分で応用して変更してみると動作の内容がより良く分かる。
sedの基本は、p.253にあるオプションを使用して、/スラッシュにより検 索文字列と置 換文字列とを指定することである。ターミナルから直接作業をする際に -e オプションをつけて実行する。 また、スクリプトを作成しておくと複数の作業が一つのコマンドにより実行できる ようになる。それに関しても、教科書のp.260からの例に詳しく紹介されている。 スクリプトを実行する際には、オプションが -f になる。ワープロなど で数ページの書類を検索置換する際には、ワープロに用意されている機能を利用し て操作が簡単にできるが、ネットワークサーバの大量のログ処理や複数の文書に分 かれた大量の書類中の編集など、比較的大規模なデータをコマンド一つで、しかも 個々のファイルの中身を開くこと無しに作業できるので、効率が良い。しかし、な れないうちはとんでもない置換をしてしまう可能性もあるので気をつける必要があ る。
UNIX系のシステムにおいてはワープロはあまり発達はしなかった。原因はUNIXシス テムの印刷機能の貧弱さにあったが、その分、TeXを活用して高品質の印刷を行う ことはできていた。それと同じように、来週紹介するawkによりテキストファイル 内の数値データの演算が可能であったので、表計算と言う分野も貧弱であった。
しかし、Linuxがデスクトップとしても利用されるようになり、いわゆるオフィス ツールの準備があちこちではじまり、今では商用やフリーのものを併せていくつか 現れている。教室には、ワープロは無いが表計算ソフトに関してはフリーの gnumericが用意されている。実験データの整理などに活用できる ので、知っておいて損は無いはずである。
起動は、ターミナルにおいてコマンドで
$ gnumeric
とする。gnomeメニューに登録されていれば、そちらからも起動は可能である。起 動すると、図1のような画面が表示される。
図1 gnumericの初期画面
また、関数は、入力を=で始めると使えるようになる。関数には種類がたくさんあ るので、ヒントを参照するしか無いが、三角関数や指数関数、総和、など基本的な ものをその名前のままで使えるはずである。(ただし、大文字になっている)
デフォルトでは割り切れない小数が入ったセルは###が表示されて、数値が見えな いようになっている。必要なセルもしくは列に関して、フォーマットメニューから 「セル」を選択し、形式を「数値」などに指定することで、桁を決めれば表示され るようになる。
作成したデータの保存は、ファイルメニューの「保存」により行うが、その際に種々 の保存形式が選択できる。csvはカンマによりデータを区切る形式であり、他のア プリケーションとのファイル交換などの際に役に立つ。また、「シンプルテキスト」 形式はデータの区切りがタブになったものである。同様に、別の環境で使用する際 に必要な形式となる場合がある。なお、独自形式以外で保存する場合には数式は保 存されないで、セルに表示されている値のみが保存される。
講義も終りに近付いて来たが、半年の講義では教室の環境の全てを使いこなせるよ うにするのは困難である。とりあえず、終りまでに、使える機能について、系統だっ てはないが、可能な限り紹介して行くつもりであるので、参考にして欲しい。
ディスク挿入スロットにフォーマット済のフロッピーディスクを差し込むと、自動的に gmcが起動し、ディスクの中身が見えるはずである。ファイルのコピー などは通常のターミナルからのコマンド操作と、gmc画面でアイコンによる移 動や複写の操作が可能である。自分のデータのバックアップなどに使用できる。
MOもフロッピーと同様、PCの前面にあるスロットにフォーマット済のディスクを入 れると、自動的にgmcが開くので、ファイルのコピーなど必要な作業を行 えば良い。自動的ににgmcが開かなかった場合にはデスクトップの CD-ROMアイコンをダブルクリックすることにより開くことができる。なお、ディス クを取り出す際には、CD-ROMアイコンを右クリックして「デバイスをマウント解除 する」を選択すると、スロットにある取り出しボタンを押すことによりディスクが 出て来る。
かなりの数のアプリケーションがファイルメニューからプリンタに出力できるよう に見える。以下に代表的なアプリケーションと画面の印刷について簡単に紹介する。
Netscapeは基本的には、ファイルメニューの印刷メニューから印刷できる。教室に は4台のプリンタがおいてあり、窓側から1、2、3、そして一番ドアに近い方が4番と決まってい る。どのプリンタに出力するかは、Netscapeの印刷メニューにより決める。図2に 上げてある例は、印刷機能を選択した後に現れるダイアローグである。こ の中で、印刷コマンドの欄にプリンタを指定する。例えば、窓側から2番目 のプリンタに出力するには、
lpr -Plp2
のように指定する。プリンタの名前が lp2 であり、それを -P オプションに続けて入 力する。なお、lpr だけだと、1番のプリンタに出力される。
図2 Netscapeにおける印刷の方法
図3 Sylpheedにおけるプリンタ設定ウィンドウ
そして、図4のようにデフォルトで用意されている部分を
a2ps %s | lpr
に変更する。なお、Sylpheedでは、プリンタ番号の指定は無効であり、印刷は必ず 1番のプリンタ(lp1)が使用される。
図4 プリンタ設定記述例
その他には、たとえばエディタのXEmacsであれば、ファイルメニューの「バッファ を印刷」を選択すると、プリンタの1番に出力される。
エディタなどで日本語を入力する際に、現在使用しているかな漢字変換エンジンの 「かんな」はあまり賢くない。効率良く入力するためには辞書になるべくたくさん 単語を登録するのが良いが、通常は辞書への登録作業はEmacs上から行うようになっ ている。ちょっとした単語を登録する際に、より便利で簡単なツールがあるので、 興味があれば自分で設定してみることを進める。方法は、別ページにあるので、そ ちらを参照すること。
作業1
教科書にある sed の利用法を自分で試してみること。
作業2
gnumeric の操作についても試してみること。
授業の終わり頃に宿題用の課題を用意するので、指示があったらこのページを再読込して課題を見ること。