初心者目線のLPIC講座 > テキスト処理コマンド > ファイルの整形
テキスト処理コマンドファイルの整形
書式を整えたり、幅を合わせたりして、ファイルの体裁を整えるコマンドの話です。
ここで紹介するコマンドは「pr」「fmt」「expand」「unexpand」です。
まずは「pr」から。
|
「pr」コマンド
|
オプション「-l」を使って試してみます。
$ pr -l 20 /etc/services
と入力すると、1ページあたり20行で出力します。
2004-09-23 14:45 /etc/services Page 1
# /etc/services:
{以下略}
このファイルを実際に全部書いているときりがないので(苦笑)、ひとまずこんな感じでヘッダに日付やファイル名、ページ数などが表示されて、その下に20行区切りで内容が表示されるという事がわかれば良いと思います。
画面上で表示するより、どちらかと言うと印刷の時に使われるコマンドのようですね。
続いては「fmt」コマンドです。
「fmt」コマンド
|
この「-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」コマンド
|
|
「unexpand」コマンド
|
スポンサードリンク