- ベストアンサー
シェルからSQLのPROMPTコマンド出力結果をそのまま出力したい(半角スペースがTABになる)
- Linux(RHEL5)を構築し、シェルからSQLのPROMPTコマンド出力結果をそのまま出力する際に、半角スペースが一部タブに置き換わってしまい、空白のまま表示させる方法について、ご教授頂けますか?
- シェルからSQLのPROMPTコマンドを使用して出力した結果において、半角スペースが一部タブに置き換わってしまう現象が発生しています。この問題を解決し、空白のまま表示させる方法について教えてください。
- Linux(RHEL5)でシェルからSQLのPROMPTコマンドを使用し、出力結果をそのまま表示させる際に、一部の半角スペースがタブに置き換わってしまう問題が発生しています。この問題の解決方法をご教授ください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
関連するQ&A
- SQL*Plus:SPOOLコマンドでのSQL出力
Oracle SQL*Plusで、SPOOLコマンドを使用すると、SQL実行の結果はファイルに出力されますが、実行したSQL自身が出力されません。 SETコマンドで制御できるのではないかと思いましたが、ちょっと見当たりませんでした。 何か方法はないでしょうか? よろしくお願いします。
- ベストアンサー
- その他(データベース)
- シェルでSQLの結果を取得したい
シェルスクリプトでSQLPLUSから、SQL文を実行させる事はできたのですが、そのSQLがSELECT文の時、その抽出した結果をシェルスクリプト上 、知りたいとき、どのようにすればわかりません。 SELECT した結果は必ず0個または1個です。 どなたかご教授ください。 sqlplus -S user/pass @${SQL_FILE} << EOF >log.txt EOF SQL_FILEの中身 select seq from A_table where ID = 1
- ベストアンサー
- その他(プログラミング・開発)
- ある場所のスペースをタブに置換するシェル
以下の処理を行いたいシェルスクリプトを作成したくいと思っていますがやりかたがわからないので教えてください。 使用しているシェルはbashです。 ログファイルのある箇所のスペースをタブに変換する 2007-09-02 23:00:00.137 DEBUG [main] ログ内容1 -ログ内容2 2007-09-02 23:00:00.139 WARN [main] ログ内容1 -ログ内容2 2007-09-02 23:00:00.140 INFO [main] ログ内容1 -ログ内容2 : : というログのなかの DEBUG(またはWARN,INFO)の文字の前 [main]の前後 -ログ内容の前 の3箇所のスペースをタブにおきかえる方法を教えてください。 (ログ内容のなかにスペースがある可能性もあるが) 変換後は以下のようになります。 2007-09-02 23:00:00.137\tDEBUG\t[main]\tログ内容1\t-ログ内容2 2007-09-02 23:00:00.139\tWARN\t[main]\tログ内容1\t-ログ内容2 2007-09-02 23:00:00.140\tINFO\t[main]\tログ内容1\t-ログ内容2 よろしくお願いします。
- 締切済み
- その他(プログラミング・開発)
- SPOOLのログについて
sysユーザで入るスクリプトを作成しているのですが、そこで、ログ出力の設定をしようと考えています。 spool ログファイル名 だけだと、ログファイルは上書きされてしまうようですが、追加書きにできないでしょうか? スクリプトの頭の部分は以下のようになっています。 -------------------- setenv DAY `date '+%Y%m'` setenv LOGFILE /tmp/test_${DAY}.log sqlplus -s /nolog << EOF connect /as sysdba spool $LOGFILE --------------------- なお、毎日cronで実行し、結果を月ごとにまとめたいと考えています。 何か、いい方法があれば教えてください。
- ベストアンサー
- Oracle
- cronでifconfigコマンドを使用するスクリプトを実行すると値が
cronでifconfigコマンドを使用するスクリプトを実行すると値が取れないのですが、 なぜなんでしょうか?どうすれば値が取れるようになるのでしょうか? OSはubuntu10.04を使っています。 直接実行した場合はファイル出力されるのですが、 cronで実行した場合は日付しか出力されません。 どなたかよろしくお願いします。 -----test.sh----- date >> test.log ifconfig >> test.log -----------------
- ベストアンサー
- Linux系OS
- コマンドプロンプトとシェルでの実行結果の違い
OS:Redhat AS v4.0 /etc/init.d/配下の実行ファイルをスクリプトの中で呼び出して いますが、何故かスクリプト実行時と個々のコマンドで実行した時と アプリの文字コードが違いますが、何が原因なのでしょうか? コマンドプロンプトで実行した時:(文字コード)正常 root#/etc/init.d/xxx restart スクリプト経由で実行時:(文字コード)異常root#/opt/tools/script.sh ※スクリプトで/etc/init.d/xxx restart を呼び出すます。。
- 締切済み
- Linux系OS
- シェルでコマンドの実行結果を変数に格納する方法
以下のようなコマンドライン引数を取得するシェルを書いたのですが 実行時にエラーになってしまいました。コマンド(第2引数以降を取得するコマンド)の実行結果を変数に格納するところでエラーになってしまいました。どのようにすればよろしいでしょうか。 「./test2.sh a b c d e」を実行し「a: コマンドが見つかりません」 というエラーが出てしまいます。 (test2.shの内容) #!/bin/sh OUTPUTFILE=$1 SRC_FILES=`"$@" | cut -d ' ' -f 2-` # 第二引数以降を取得 echo $OUTPUTFILE ←ここは表示される echo $SRC_FILES ←ここでエラー
- ベストアンサー
- Linux系OS
- shからPL/SQLブロックを実行する方法
Solaris上でshスクリプト中からPL/SQLを記述したファイルを呼び出して、Oracleのテーブルに対して操作したいのですが、 test.shファイル #/bin/sh sqlplus userid/password@ddzk test.sqlファイル DECLARE … BEGIN INSERT INTO table VALUES( … ) END; / コマンドラインから $./test.sh を実行すると、 ./test.sh: sqlplus: 見つかりません。 と表示されます。 どなたかshスクリプトからPL/SQLで記述したファイルを実行する 方法をご存知の方、ご教示願います。
- ベストアンサー
- その他(プログラミング・開発)
- linuxでaliasをbashrcに記載してsh
linuxでaliasをbashrc(bashrcでなくともログイン時に読み込まれるprofile)に記載してあるコマンドを設定したいのですが、これが上手くいきません。 やりたいことは、bashrcで設定したコマンド内容をshスクリプトで実行したいのですが、これはどうやれば出来るのでしょうか? 以下に.bashrcの内容とshスクリプトの内容を記載します。 .bashrcの内容 # .bashrc # Source global definitions if [ -f /etc/bashrc ]; then . /etc/bashrc fi alias log='tail -f /var/log/messages' test01.shの内容 #! /bin/bash log 実行すると ./test01.sh: line 2: log: command not found となってしまいます。 ちなみに、shの中ではなく、ログイン後にコマンド(log)だけプロンプトに打つとちゃんとtail -f /var/log/messagesの内容が出力されます。 shの作りが悪いのでしょうか? どなたかご教授いただけますとありがたいです。 osはlinux redhat5.4です。 どうぞよろしくお願いいたします。
- ベストアンサー
- Linux系OS
- SQL実行結果の出力を見やすくしたい
Oracle 10gを使用して勉強をしています。 SQL実行結果の出力が見にくくて困っています。 以下、(1)は自分が実行したSQL文ですが、(2)のように見やすく出力したいです。 どのようにすればよいのでしょうか? また参考となるWEB URLがある場合、頂けたら嬉です。 (1)自分が実行したSQL文 SQL> select 2 sid,serial#,username,osuser,program,machine,terminal 3 from v$session 4 where type = 'USER'; SID SERIAL# USERNAME ---------- ---------- ------------------------------ OSUSER PROGRAM ------------------------------ ------------------------------------------------ MACHINE ---------------------------------------------------------------- TERMINAL ------------------------------ 543 39 SYS oracleuser sqlplus@HOGE-net (TNS V1-V3) HOGE-net pts/1 SID SERIAL# USERNAME ---------- ---------- ------------------------------ OSUSER PROGRAM ------------------------------ ------------------------------------------------ MACHINE ---------------------------------------------------------------- TERMINAL ------------------------------ 544 5 SYS oracleuser sqlplus@HOGE-net (TNS V1-V3) HOGE-net pts/0 (2)こんな感じで出力させたいです。 select sid,serial#,username,osuser,program,machine,terminal from v$session where type = 'USER'; SID SERIAL# USERNAME OSUSER PROGRAM MACHINE TERMINAL ---- ------- --------- ------ ---------- --------- -------- 139 2 TEST Owner sqlplus.exe HOGE_XP HOGE_XP 144 20 SYSTEM ORACLE.EXE HOGE_XP HOGE_XP
- ベストアンサー
- Oracle
お礼
set tab offにて、問題解決しました。 LinuxとSolarisとの環境で同じスクリプトを検証したのですが、 set tab off の前に、show tabでtabの設定を見ると、何れもON。 本現象が発生するのがLinuxのみと、どうも解らない所が ありましたが^^; とても助かりました。ありがとうございます。