ビジネス・インテリジェンス[BI] のリーディング・カンパニー | SAS Japan SAS Japan
「THE POWER TO KNOW(知る力)」を提供するビジネス・インテリジェンス[BI]のリーディング・カンパニー | SAS Japan  トレーニング マニュアル ユーザー事例 パートナー ユーザー会 求人情報 資料請求・ダウンロード
Home News Products & Solutions Events & Seminer Customer Support Company www.sas.com
 

標準入力からプログラムを読み込む方法

[OS]ALL
[リリース] 6.12,8.1,8.2
[キーワード] STDIO

[質問]

UNIX版SASで、標準入力から直接プログラムを読み込んで実行する方法はありますか。

[回答]

STDIOシステムオプションを指定することによって可能です。このオプションによって、プログラムを標準入力から読み込み、プロシジャ出力を標準出力に、ログを標準エラーにそれぞれ書き出します。
次の例では、シェルプロンプトから以下の1行を実行することで、SETINITプロシジャの結果を出力させています。

$ echo proc setinit\; | sas -stdio

また、この機能によって、シェルスクリプトの中にSASプログラムを記述したり、SASの出力を他のコマンドの標準入力として渡すことが可能となります。
次の例では、OPTIONSプロシジャと%PUTステートメントの出力から任意の文字列を検索するシェルスクリプトを作成し、実行しています。

  $ cat stdio.sh
  #!/bin/sh
  (
  /usr/bin/sas -stdio 2>&1 << SRC
  proc options;
  run;
  %put _automatic_;
  SRC
  ) | \
  grep $1
  $ ./stdio.sh TIME
  NOFULLSTIMER システムパフォーマンス統計量のログ出力を無効にします
  STIMEFMT=M   STIMER出力で用いる出力形式を指定します
  STIMER       システムパフォーマンス統計量のログ出力を有効にします
  AUTOMATIC SYSTIME 12:34


The Power to Know
   Contact Us     Terms of Use & Legal Information     Privacy Statement     個人情報の取り扱いについて   Copyright © 2008 SAS Institute Inc. All Rights Reserved