初心者目線のLPIC講座 〜わかりやすいかも、このサイト〜

初心者目線のLPIC講座 > テキスト処理コマンド > ファイルの整形

テキスト処理コマンド

ファイルの整形

書式を整えたり、幅を合わせたりして、ファイルの体裁を整えるコマンドの話です。

ここで紹介するコマンドは「pr」「fmt」「expand」「unexpand」です。

まずは「pr」から。

「pr」コマンド

意味:ファイルの書式を整える。

書式:pr[オプション] [ファイル名]

オプション(以下):

-l 行数・・・1ページあたりの行数を指定する。

-w 文字数・・・1行あたりの文字数を指定する。

オプション「-l」を使って試してみます。



$ pr -l 20 /etc/services



と入力すると、1ページあたり20行で出力します。



2004-09-23 14:45        /etc/services          Page 1



# /etc/services:



{以下略}



このファイルを実際に全部書いているときりがないので(苦笑)、ひとまずこんな感じでヘッダに日付やファイル名、ページ数などが表示されて、その下に20行区切りで内容が表示されるという事がわかれば良いと思います。



画面上で表示するより、どちらかと言うと印刷の時に使われるコマンドのようですね。



続いては「fmt」コマンドです。







「fmt」コマンド




意味:ファイルの幅を整える。


書式:fmt [オプション] [ファイル名]


オプション(以下):


-w 文字幅・・・1行の文字幅を指定する。







この「-w」というオプションを付けると、



$ fmt -w 20 txtfile



として実行すれば、1行につき20文字までの文字幅が設定されます。



ただし、単語は単語で見切れないで表示されるので、1行の文字数が20文字ピッタリだったり18文字くらいで終わっていたり、その辺は結構バラバラみたいです。



続いて「expand」「unexpand」コマンドです。この2つは、前者が「タブをスペースに変換」、後者が「スペースをタブに変換」するコマンドです。



スペースとは単なる1文字分の空白のことですが、「タブ」は「複数文字分の長さを持った1文字分の空白」です。



「タブ」とは、ワープロなどで文章を見やすくするための「字下げ(インデント)」をしたい時によく使われます。



タブとスペースとの違いは、タブは通常5文字とか8文字とか、見た目の長さこそ複数文字分ありますが、コンピュータのデータ上の大きさとしては1文字分です。



といってもよくわからないと思いますが、例えば「タブ幅が8」といったら、見た目は8文字分の空白があいているようにみえますが、データとしては1文字分なので、タブの先頭から終端までカーソルを移動させると、ビュン!と8文字分を一瞬で移動します。



これが単に「8文字分のスペース」だったら、見た目も実際のデータの大きさも単純に8文字分なので、1文字目から8文字目までカーソル移動するのに、カーソル移動を1文字目から数えて8回行ってようやく到達します。



スペースとタブはそんな違いがあります。わかりますでしょうか?







「expand」コマンド




意味:テキストファイル内のタブをスペースに変換する。


書式:expand [オプション] [ファイル名]


オプション(以下):


-t タブ幅・・・タブ幅を指定する。





「unexpand」コマンド

意味:行頭の連続したスペースをタブに変換する。

書式:unexpand [オプション] [ファイル名]

オプション(以下):

-a・・・行頭以外のスペースもタブ変換する。


スポンサードリンク