テキスト・ファイル ( text file )とは、文字だけで構成されるファイルです。
Microsoft Wordなどのワープロの文書ファイルは、文字だけのように見えますが、テキスト・ファイルではありません。 ワープロの文書ファイルには、文字だけでなく、用紙の大きさや文字の大きさなど、文字以外の情報も一緒に格納されるからです。
テキスト・ファイルは、色々な目的で使われます。 以下は、テキスト・ファイルが使われる具体例です。
例えば、Wordファイルの内容を表示したり編集したりするには、Wordというソフトウェアを利用する必要があります。 これに対して、テキスト・ファイルの内容を表示したり編集したりするには、何らかのソフトウェアを利用しますが、そのソフトウェアは唯一ではありません。
一般的に、ファイルの内容を表示するソフトウェアを、 ビューア ( viewer )と呼びます。 テキスト・ファイルのビューアを利用すれば、テキスト・ファイルの内容が表示できます。 また、テキスト・ファイルを編集するソフトウェアを、 テキスト・エディタ ( text editor )と呼びます。 テキスト・エディタを利用すれば、テキスト・ファイルが編集できます。 テキスト・エディタでもファイルの内容は表示できるので、ビューアは要らないように思えますが、ビューアの方が高速起動するので、ビューアも役に立ちます。
Windowsでは、「メモ帳」が標準的なテキスト・エディタです。 また、「秀丸エディタ」というシェアウェア(試用可能な有料ソフト)もよく利用されます。
Macでは、「テキスト・エディット」が標準的なテキスト・エディタです。 授業で利用している「Jedit X」は、Mac用のテキスト・エディタで、シェアウェアです。 (大学がお金を払っています。)
UNIXでは、「 vi 」(ブイアイ)が標準的なテキスト・エディタです。 また、「 Emacs 」(イーマックス)というフリーソフト(無料ソフト)も人気があります。 ビューアについては、いくつかのUNIXコマンドで、テキスト・ファイルの内容が表示できます。
この授業では、UNIXコマンドだけでパソコンを操作する方針でしたが、テキスト・ファイルの作成だけはJedit Xを利用しました。 その理由は、viがそれなりに難しいからです。 しかし、UNIXを勉強するなら、UNIXの標準テキスト・エディタであるviは無視できません。 以下では、テキスト・ファイルのビューアを紹介したあと、viエディタの使い方を説明します。
今まで、テキスト・ファイルの内容を表示するのに、catコマンドを使ってきました。 このコマンドでは、長文のテキストの場合、「ターミナル」の画面に収まりません。 そのときは、ビューアのコマンドを利用します。
ここで、Jedit Xを起動し、以下の内容をコピーして、ファイルcalendar01.txtに保存してください。
2008 January February March Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa 1 2 3 4 5 1 2 1 6 7 8 9 10 11 12 3 4 5 6 7 8 9 2 3 4 5 6 7 8 13 14 15 16 17 18 19 10 11 12 13 14 15 16 9 10 11 12 13 14 15 20 21 22 23 24 25 26 17 18 19 20 21 22 23 16 17 18 19 20 21 22 27 28 29 30 31 24 25 26 27 28 29 23 24 25 26 27 28 29 30 31 April May June Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa 1 2 3 4 5 1 2 3 1 2 3 4 5 6 7 6 7 8 9 10 11 12 4 5 6 7 8 9 10 8 9 10 11 12 13 14 13 14 15 16 17 18 19 11 12 13 14 15 16 17 15 16 17 18 19 20 21 20 21 22 23 24 25 26 18 19 20 21 22 23 24 22 23 24 25 26 27 28 27 28 29 30 25 26 27 28 29 30 31 29 30 July August September Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa 1 2 3 4 5 1 2 1 2 3 4 5 6 6 7 8 9 10 11 12 3 4 5 6 7 8 9 7 8 9 10 11 12 13 13 14 15 16 17 18 19 10 11 12 13 14 15 16 14 15 16 17 18 19 20 20 21 22 23 24 25 26 17 18 19 20 21 22 23 21 22 23 24 25 26 27 27 28 29 30 31 24 25 26 27 28 29 30 28 29 30 31 October November December Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa 1 2 3 4 1 1 2 3 4 5 6 5 6 7 8 9 10 11 2 3 4 5 6 7 8 7 8 9 10 11 12 13 12 13 14 15 16 17 18 9 10 11 12 13 14 15 14 15 16 17 18 19 20 19 20 21 22 23 24 25 16 17 18 19 20 21 22 21 22 23 24 25 26 27 26 27 28 29 30 31 23 24 25 26 27 28 29 28 29 30 31 30
moreコマンド は、テキストを一画面ずつ表示します。 形式は
more file
です。 returnキーで1行スクロールし、スペース・キーで1画面スクロールします。 q キーで終了します。
次のlessコマンドやlvコマンドのほうがより便利なので、このコマンドはあまり使われません。
lessコマンド も、テキストを一画面ずつ表示します。 この名前は、moreの反対の動きもできるという意味です。 形式は
less file
です。 キー操作は以下の通りです
キー操作 | 動作 |
---|---|
return, 下矢印 | 1行スクロール |
スペース | 1画面スクロール |
k, 上矢印 | 1行バック・スクロール |
b | 1画面バック・スクロール |
q | 終了 |
lvコマンド も、テキストを一画面ずつ表示します。 これは、日本語など、多くの言語のテキスト・ファイルを表示できるようにしたものです。 形式は
lv file
です。 キー操作は、lessコマンドと同じです。
もし、大学のMacで、コマンドが見つからないと言われたら、
/sw/bin/lv file
としてください。
ここで、Jedit Xで新規にウィンドウを開き、以下の内容をコピーして、ファイルseason01.txtに保存してください。 これは、ドイツ語の季節を表しています。
Fruehling Sommer Herbst Winter
ファイルに保存したら、ウィンドウを閉じてください。 この授業の目的は、viエディタを利用して、以下のように英語に書き換えることです。
spring summer fall winter
具体的には、次のようにします。
viエディタを起動するには、viコマンドを実行します。 形式は
vi file
です。 これで、ファイル file が編集できます。
viエディタを終了するには、ZZと入力します。 ZZと入力すると、ファイルに保存して終了します。 ファイルに保存したくない場合は、:q!と入力します。
viエディタは、コマンド・モードと挿入モードを切り替えながら使います。 モードとは、viエディタの状態だと思ってください。 コマンド・モードでは、キー入力をコマンド(命令)と解釈します。 挿入モードでは、キー入力をテキストと解釈します。
viを起動した直後は、コマンド・モードです。 コマンド・モードから挿入モードに切り替えるには、aキーまたはiキーを押します。 (aとi以外でもできます。) 挿入モードからコマンド・モードに切り替えるには、escapeキーを押します。
aまたはi コマンド・モード --------> 挿入モード <-------- escapeキー
コマンド・モードでaキーを押す、すなわちaコマンドを実行すると、カーソルの後にテキストが追加されます。 aコマンドで行の中間にテキストを挿入できますが、特に行末にテキストを追加するにはaコマンドを使います。
コマンド・モードでiキーを押す、すなわちiコマンドを実行すると、カーソルの前にテキストが挿入されます。 iコマンドで行の中間にテキストを挿入できますが、特に行頭にテキストを挿入するにはiコマンドを使います。
カーソルを移動するには、コマンド・モードで、hキー、jキー、kキー、lキーを押します。 カーソルは、hコマンドで左に、jコマンドで下に、kコマンドで上に、lコマンドで右に、それぞれ移動します。
k | h --+-- l | j
xコマンドは、カーソルがある文字を削除します。 また、ddコマンドは、カーソルがある行を削除します。
以上のコマンドをまとめると、次のようになります。
コマンド | 機能 |
---|---|
a | カーソルの後にテキストを追加 |
i | カーソルの前にテキストを挿入 |
h | カーソルを左に移動 |
j | カーソルを下に移動 |
k | カーソルを上に移動 |
l | カーソルを右に移動 |
x | カーソルのある文字を削除 |
dd | カーソルのある行を削除 |
ZZ | ファイルに保存して終了 |
:q! | ファイルに保存せずに終了 |
viには、他にも大量のコマンドが定義されていますが、これだけ覚えておけば、最低限の作業はできます。
それでは、実際に書き換えましょう。
まず、Jedit Xで新規にウィンドウを開き、以下の内容をコピーして、ファイルmonth01.txtに保存してください。 これは、ドイツ語の月の名前を表しています。
Januar Februar Maerz April Mai Juni Juli August September Oktober November Dezember
ファイルに保存したら、ウィンドウを閉じてください。 そして、catコマンドでドイツ語を表示して、viエディタを利用して英語に書き換えて、catコマンドで英語を表示してください。
asiaa1:~/comp2d b08a001$ cat month01.txt Januar Februar Maerz April Mai Juni Juli August September Oktober November Dezember asiaa1:~/comp2d b08a001$ vi month01.txt asiaa1:~/comp2d b08a001$ cat month01.txt January February March April May June July August September October November December asiaa1:~/comp2d b08a001$
今日の演習6の答案(「ターミナル」画面のコピー)をメールで提出してください。 差出人は学内のメール・アドレス(b08a001@cis.twcu.ac.jpなど)とし、宛先はkonishi@cis.twcu.ac.jpとします。 メールの本文には、学生番号、氏名、科目名、授業日(11月7日)を明記してください。