• ベストアンサー

シェルにおける・・・

初心者なのですいませんが、シェルにおけるリダイレクション、フィルタ、パイプとは何かを教えてくれませんか?それと簡単なシェルのプログラムも書いてください。また、その実行結果もお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • utf7
  • ベストアンサー率29% (11/37)
回答No.2

簡単に書きますと、 リダイレクション:実行結果をファイルに出力すること フィルタ:標準入力のデータを与えられたコマンド(grep, sortなど)によって処理し、標準出力に出力するコマンドのこと パイプ:ある処理の実行結果を、別のコマンドに渡すこと となります。 例えば、 % ls と入力すると、カレントディレクトリのファイルやディレクトリ一覧が表示されますが、これをhoge.txtに出力したい場合、 % ls > hoge.txt のように書きますが、これがリダイレクションです。 新規または追加書き込みのような区分けもあります。 次にフィルタですが、これは上記に書いたように標準入力からのコマンドの結果ですので、例は省略します。 最後にパイプですが、これが使えるとかなり便利です。 例えばカレントディレクトリに aaa.txt bbb.html ccc.c というファイルがあった場合、全てを出力するには % ls ですが、テキスト形式(.txt)以外のファイルを出力したい場合は % ls | grep -v .txt のように、lsの結果をgrepに渡すことで別の結果が得られるようになります。 上記を実行すると、 bbb.html ccc.c という出力結果が得られると思います。 シェルの簡単なプログラムですが、bshとcshで書き方に多少差があるため、どちらという情報がわからないのですが、コマンドについては下記のURLが参考になると思います。

参考URL:
http://x68000.startshop.co.jp/~68user/unix/
sakurai0308
質問者

お礼

誠にありがとうございます。プログラムはcshお願いいたします。

その他の回答 (1)

  • asuca
  • ベストアンサー率47% (11786/24626)
回答No.1

参考URLを参照するといいかと思います。 フィルターについてはこちら。 http://www.math.meiji.ac.jp/~mk/syori2/jouhousyori2-2003-06/node3.html

参考URL:
http://hwb.ecc.u-tokyo.ac.jp/topics/command2/index.html
sakurai0308
質問者

お礼

ありがとうございました。参考にさせていただきます。

関連するQ&A

  • PERLとシェルについて

    コマンドプロンプトで入力されたPERLコマンドはシェルのプログラムによってカーネルに引き渡されてカーネルがPERLのプログラムにそのコマンドを実行させて、その結果をカーネル→シェルへと引き渡されてコマンドプロンプトに表示されるのでしょうか?

  • ftpコマンド出力結果の取得

    ftpコマンドのバッチ処理によってファイルの一覧の結果を取得したいのですが、 リダイレクション等を用いても取得できません。 どのようにすればいいか教えてください。 **************状況************* OSおよびOSレベル:AIX5.2 シェル:Kシェル コマンドファイルの中身(ftp.txt) cat << EOF | ftp -n open SERVER user USER PW cd PATH ls -l bye EOF SERVER:実際のサーバー名 USER:実際のユーザー名 PW:実際のパスワード PATH:実際のパス これを以下のように実行し、結果を取得しようとしました。 # ./cmd.ftp > log しかし、出力ファイルlogの中身はカラっぽでした。 ところが、リダイレクションを外し、コマンドファイルのみを実行すると、結果が画面に表示されます。 何故、画面には表示されるのに、リダイレクションやパイプでは結果が渡されないのかが分かりません。

  • シェルのリダイレクトとパイプについて

    シェルのリダイレクトとパイプについての質問です. リダイレクトでコマンドの標準出力をファイルに指定した後に, パイプを置いて,もう一つコマンドを並べたとき, 後の方のコマンドの標準入力はどうなるのでしょうか? 例えば, ls >outfile |cat ならば, catの標準入力には,何も入ってこないと思うのですが, これを実行すると,lsの結果がoutfileに書き込まれ, 次のプロンプトが表示されます. 普通,catを引数なしで実行すると, EOFが入力されるまで,入力待ちになると思うのですが, こうならないのは,シェルがcatの標準入力にEOFを入力したからだと 考えていいのでしょうか. よろしくお願いします. (質問の意味が分かりにくければご指摘下さい.)

  • 他ユーザーのシェルスクリプト実行

    他ユーザーのシェルスクリプトを実行する際に「rsh」や「ssh」を使用しないで実行 する方法が知りたいです。 また、シェルはCのプログラムから実行させたいのでパスワードの入力を求められたり するのは避けたいです。 フルパスを直接指定すれば実行は出来ましたが、ユーザーが変わっていないので ほしい結果が得られませんでした。 OSはredhat linuxです。

  • シェルスクリプト

    シェルスクリプトに関しては、まったくの初心者です。 OSは、SolarisとLinuxですが、シェルスクリプトを利用して下記のような自動実行プログラムを作りたいのですが、どなたかご教授下さい。 一台のWWWサーバのログ(例:access.log)を、1日に一回(出来ましたら朝の5時)に別サーバに送信するプログラムなのですがいかがでしょうか?このとき、出来れば送信先のファイル名は、送信した日付(例:20020222.log)にしたいです。説明不足かも知れませんが、ひとまずこれでお願いします。

  • シェル内でクロンから起動されたかを判断できる?

    シェル初心者でっす とあるシェル(仮にshell.shとする)があったとき、 shell.shのプログラム内で自身がクロンから実行されたのか それとも手動実行(sh shell.shとコマンドライン入力された)のか 判断させる方法ってありますでしょうか 基本はクロンで実行させますが、 手動で実行させた時に別の動きをさせたいのです (ダメならファイルを分けるつもりですが…) よろしくお願いいたします

  • 【シェルスクリプト】awkの結果を変数に格納したいです。

    【シェルスクリプト】awkの結果を変数に格納したいです。 パイプを使って、3つのコマンドを実行し、変数に格納したいです。 command1 | command2 | command3 command2 には grep が、 command3 には awk が入ります。 よろしくお願いします。

  • シェルについて

    シェルの作成方法がわかりませんので教えてください。 シェルを実行することにより、 secureログファイルの「disconnect」という文字列を待ちます。 「disconnect」という文字列が出力されたら、 別のシェルを実行するというシェルを作成したいと考えています。 1.このようなシェルは作成することが可能でしょうか?   もし、可能でしたら例文を書いて頂ければ幸いです。 2.別のシェルを実行した後、   当初の「disconnect」という文字列を待つ状態に戻りと思いますが、可能でしょうか?   もし、可能でしたら例文を書いて頂ければ幸いです。 どうぞよろしくお願いします。

  • WINDOWSでシェルプログラムを実行する方法

    こんにちは。 WINDOWS上で自分で作成したシェルプログラムを実行したいです。 シェルプログラムを動かす方法は何かありますでしょうか? (WINDOWSに何かソフトを入れるとシェルは動くようになるのでしょうか?) よろしくお願い致します。

  • シェルのコマンドの仕組み

    シェルのコマンドの仕組みについて教えてください。 1、シェルのコマンドはシェルのフォルダにコンパイルされて保存されてるのでしょうか? 2、ユーザが打ったコマンドをシェルが解釈するときそのフォルダを検索して目当てのコマンドのプログラム実行してるのでしょうか? 間違えていたら、補足お願いします。