moreコマンドと入力リダイレクトについて (2/2)

more
前回ご紹介したコマンド「more」の続きです。
このmoreは、指定したファイルの内容を1ページずつ画面に表示させ たり、他のコマンドの処理結果を1ページずつ表示させたりする事ができるコマンドだと前のページでは説明しました。 (moreの書式やオプションなどについては前のページを参照)
処理結果の表示が1画面で収まらず、長いスクロールが発生してしまう場合などに便利なので、 他のコマンドと共にパイプを介して使用される事が多いのですが、 それ以外にもリダイレクトと共に使用する方法があります。
今回は、そのリダイレクトを利用してmoreを使用する方法を、 簡単な例を用いて解説してみようと思います。

このページのトップへ
以下は、今回使用するmoreの構文とオプションです。
他にも書式はありますが、ここで使用するものだけを掲載しています。
more [/e] [/c] [/p] [/s] [/Tn] [/+n] < ファイル名

/e 拡張機能を有効にする(デフォルト)
/c ファイルの内容を表示する前に画面内容を消去
/p フォームフィード文字を展開
/s 複数の空白行がある場合、1行に縮小して表示
/Tn タブを「n」個のスペースに置き換える(デフォルトでは8)
/+n 最初のファイルを「n」行目から表示する
書式内にある「<」はリダイレクト記号です。
リダイレクトについては過去のコマンド記事でも触れましたが、 これまでに説明したのは処理結果をファイル等に出力するための「>」でした。
今回の「<」はその逆で、 デフォルトではキーボードに設定されている入力元を、一時的にファイルなどに振り替える事ができます。
moreはファイルの内容を出力させるコマンドだと書きましたが、 「more < ファイル名」 等と指定する事で、デフォルトはキーボードに設定されている入力元をファイル等に振り替える事ができるのです。
このページのトップへ
ここで話が少しそれますが、一度このmoreをオプションも何も指定せずに使用してみて下さい。
moreコマンド
C:¥sample>more
aaaa
aaaa
dddd
dddd
yyy
yyy
bhfds
bhfds
^Z


C:¥sample>
moreコマンドのみを入力して実行すると、行が変わって入力待ち状態になります。 ここでユーザーが何らかの文字を入力(入力してEnter)すると、入力した文字がその下段に表示されます。
これは、単にデフォルトの入力元であるキーボードから入力された文字を、 moreコマンドが出力しているというだけの事で、特に何の役にも立ちません。
ですが、「<」を利用すればこの入力元をキーボードからファイル等に変更する事ができます。
このページのトップへ
ここでファイル等と書いたのは、実は入力元に指定する事ができるのはファイルだけでなく、 デバイス(装置)なども入力元(出力先)として指定する事が出来るからです。
コマンドプロンプトでは、ファイルとデバイスを同列のものとみなし、 デバイスから入力されるデータはファイルと同じように扱われます(UNIXの基本です)。
ファイル以外に指定する事のできる物理的なデバイス(物理デバイス)には、 キーボードやシリアルポート、パラレルポート、ディスプレイがあり、 入出力をどのデバイスに割り当てるのかを、リダイレクトを使用して簡単に変更する事ができるようになっています。 (予め設定されている論理デバイスを、 どの物理デバイスに割り当てるのかを一時的に変更できる)
※キーボードは入力のみ、ディスプレイは出力のみ。
コマンドプロンプト上で設定されている、論理デバイスの名前は以下の通りです。
標準入出力:CON(ディスプレイやキーボード)
補助入出力:AUX(シリアルポートからの入出力)
プリンター:PRN(プリンターへの出力)
何もしない:NUL
エラー:なし
※moreの記事ですが、ひと通り説明しておきたいので掲載しています。
 ここで覚えなくても理解できていればOKです。
これだけだとわかり難いので、例をあげてみます。
more < AUX(シリアルポートから入力)
tree > PRN(プリンターへ出力(印刷))
このような感じで使用します。
もちろんデバイス名は、リダイレクトなしでコマンドラインに直接入力する事もできます。
このページのトップへ

少し横道にそれましたが、上のように<や >の入出力先には様々なデバイスを指定する事ができます。
moreにおいても、単にキーボードから入力した文字を表示させるなどではなく、 入出力をそういったデバイスに置き換える事によって、はじめて有用なコマンドとなるのです。
ではここで簡単な例を一つあげてみます。
moreコマンドとリダイレクト
C:¥sample>more < sample.txt
<を使用し、sample.txtを入力元に指定しています。
sample.txtの内容を入力したのと同じ事になるので・・
moreコマンドとリダイレクト
sample.txtの内容が1画面ずつ表示されます。
C:¥sample>more < sample.txt
Lenovo 【製品レビュー&記事】 (16)
HP 【製品レビュー&記事】 (15)
東芝 【製品レビュー&記事】 (9)
Panasonic【製品レビュー&記事】 (4)
EIZO 【製品レビュー&記事】 (2)
Lenovo(デスクトップパソコン) (8)
Lenovo(ノートブックパソコン) (17)
hp(デスクトップパソコン) (12)
hp(ノートブックパソコン) (25)
hp(ワークステーション) (6)
hp(サーバ関連/PDA/プリンタ他) (8)
ドスパラ (20)
東芝(ノートブックパソコン) (24)
Sony (5)
パナソニック (8)
ASUS (2)
Acer (3)
工人舎 (2)
Faith (4)
パソコン工房 (3)
ツクモ (2)
NEC (9)
-- More  --
なお、出力リダイレクトに関しては以前にも説明しているので、 書く必要はないと思います。

このページのトップへ
moreの説明は以上となります。
多分特別な事をしない限りは、moreは他のコマンドと組み合わせて使用する事 が殆どではないかなと思います。
ここでリダイレクトを大きく取上げたので、サンプルとしてもう一つ、 プログラムにファイルをリダイレクトする簡単な例をあげようと思ったのですが、 それこそmoreと大きくかけ離れてしまうので、 それも含めてリダイレクトについては後日別記事としてきちんとまとめる予定です。
なお、上には書き忘れてしまいましたが、 リダイレクトと組み合わせてmoreを使用する場合、 不等号の向きにはくれぐれも注意して下さい。
more < ファイル名
とする所を誤って
more > ファイル名
としてしまうと、ファイルの中身が消えてしまいます。
元に戻す事は出来ませんので、注意してください。
ではまた次回、宜しくお願い致します。
このページのトップへ
デバイス
シリアルポート
パラレルポート

※キーマンズネットのIT単語帳ページへ飛びます。
様々なIT専門用語の意味を詳しく知る事ができます。
サイト上の情報利用により生じた損害等には一切責任を持ちません
2009.09.28 Monday | 初心者でも簡単コマンドプロンプト | comments(0) | trackbacks(0) | 記事URL
▲PAGETOP
同カテゴリーの記事 最新5件
Comment:
Add a comment:











※コメントは管理者が承認後表示されます。
Trackback:
http://shop.denkaseihin.com/trackback/585
※記事と関連性が低い等、管理人が不適当と判断したものについては削除させて頂きます。
新着記事
CATEGORY
まめ知識
COMMENT
  • 巨大なサイズのファイルも一瞬で削除出来るコマンド del
    denkaseihin (04/15)
  • 巨大なサイズのファイルも一瞬で削除出来るコマンド del
    原田 (04/14)
  • HPの h8-1080jpレビュー 内蔵GPU〜GTX580まで可のSandy Bridge搭載マシン
    denkaseihin (09/18)
  • HPの h8-1080jpレビュー 内蔵GPU〜GTX580まで可のSandy Bridge搭載マシン
    ヨーイチ (09/18)
  • HPの h8-1080jpレビュー 内蔵GPU〜GTX580まで可のSandy Bridge搭載マシン
    denkaseihin (09/14)
  • HPの h8-1080jpレビュー 内蔵GPU〜GTX580まで可のSandy Bridge搭載マシン
    MN (09/13)
  • Firefoxでcookieが保存されないという現象が発生したら
    denkaseihin (10/28)
  • Firefoxでcookieが保存されないという現象が発生したら
    KEKE (10/27)
SMTWTFS
 123456
78910111213
14151617181920
21222324252627
28293031   
<< July 2019 >>
RSS
ARCHIVES
MOBILE
qrcode
LINK

Copyright © 2005 - denkaseihin. All Rights Reserved.