• 締切済み

端末画面への出力とファイルへの書き込みを同時に実行する方法

シェルスクリプト(主にBシェル)を勉強している初心者です。 コマンドを入力するとその出力結果は端末画面へ表示されますが、同時にファイルへの書き込む方法はあるでしょうか?

みんなの回答

  • notnot
  • ベストアンサー率47% (4848/10261)
回答No.3

オーソドックスには、tee コマンド ls | tee ls.output とか。操作の記録をとりたいのなら、#2の方がお書きのscriptコマンドですね。

goma_99
質問者

お礼

恥ずかしながらteeコマンドは知りませんでした。参考になりました。ありがとうございます。

  • dyna_1550
  • ベストアンサー率34% (122/353)
回答No.2

script コマンドを使うと、操作ログが取れます。 script /var/tmp/test1.log <- 操作内容や出力された内容が全て記録される。 終了は、 exit  exitしないで終わると、バッファにたまった分がログに記録されないので注意。

goma_99
質問者

お礼

操作中における一部のコマンド結果を画面表示&ファイル書込みと考えていました。 回答ありがとうございます。

noname#89375
noname#89375
回答No.1

> 同時にファイルへの書き込む方法はあるでしょうか? 「同時に」という解釈に困りますが、 一連の処理で(同時ではないです)書き込めば同じことではありませんか? たとえば、 # cat /etc/fstab > temp.txt | cat /etc/fstab

goma_99
質問者

お礼

早速の回答ありがとうございます。 > # cat /etc/fstab > temp.txt | cat /etc/fstab 確かに画面表示とファイルへの書き込みが出来ますね。ありがとうございます。

関連するQ&A

  • シェルスクリプトで出力と処理の同時実行

    シェルスクリプトで出力コマンドを実行し、キーワードで 抽出してその行数で分岐させようと考えています。 (出力コマンドはミドルウェアのコマンドでアプリケーションの 状態を表示するコマンドです) 出力コマンドの結果を出力させたいのですが下記のような 流れで行おうとしています。 いちいちファイルに保存せずに出力と、行数の変数への格納を 一度でできる方法はないでしょうか。 出力コマンド | grep [キーワード] | tee tmp/file hensuu=wc -l tmp/file case $hensuu in ・・・ よろしくお願いします。

  • 標準出力とリダイレクトを同時に実行

    標準出力の結果をファイルに保存するにはリダイレクトを使うと思いますが、同時に標準出力にも表示したいです。 同時に、リダイレクトの「>>」のように、追記していくようにしたいです。 そのような場合、 http://blog.goo.ne.jp/minimal_room/e/26b4d965cd67ac5abfc4ca024e69501f によれば、teeコマンドを使うと良いそうなのですが、 ./a.out | tee log.txt のようにすると、標準出力されず、上手くいきませんでした。 どのようなコマンドを打ったら良いか教えて下さい。

  • 端末エミュレータでの出力について

    Linuxでコマンドを入力すると、出力が端末エミュレータで表示しきれないときがあるのですが、出力できる行数を増やすコマンドがあったら教えてください。

  • killコマンド実行時のメッセージを出力させないためには?

    あるシェルスクリプトを実行させているところに、killコマンドを送り込むと、コンソールに「終了しました」と表示されてしまうのですが、これを表示させないようにすることはできますか??? kill 100 > 2>&1 > aaa.txtなどとしてもファイルに書き込まれないので、標準出力でも標準エラー出力でもないのでしょうか?

  • コマンド実行結果のファイル出力

    systeminfo echo list volume | diskpart のコマンドを実行結果をテキストファイルに出力したいのですが、 echo list volume | diskpart > "c:\status.txt" systeminfo >> "c:\status.txt" としてバッチで実行しても、何も出力されていないません。 コマンドを画面で入力すると、画面に表示されます。 どうしたらよいか教えてください。

  • コマンドの出力結果をn行おきに出力する方法

    コマンドの出力結果をn行おきに出力する、出来るだけシンプルな方法を知りたいです。 例えば、あるファイルの中身をgrepで絞込み、かつそれを5行ごとに出力させる等。 シェルの種類は問いません。 宜しくお願い致します。

  • シェルスクリプトで選択してコマンド実行結果表示する

    Linuxのシェルスクリプトで、簡易メニュー画面を表示して、番号を入力して、コマンド実行結果を表示すしたいです。 →その後、ファイルに書き込むようにする。  表示が終わったら、再度簡易メニュー画面を表示して、別の番号を入力して再度コマンド実行結果を表示したいです。 (例:1を入力すると、ファイル容量のコマンド結果が表示、2を入力すると、ユーザーの名前コマンド結果を表示する。10を入力すると、終了)

  • シェル(Unix) ファイル更新を監視する方法がわからなくて困っています。

    ファイルが更新されているかシェルで監視したいのですが、どのようなシェルになるのでしょうか? たとえば、 Aファイルにはフルパスで記述している複数のファイルが記述してあり、その個々のファイルのファイルサイズやタイムスタンプを採取し、 Bファイルに出力させます。 再度、Aファイルを読み込みlsコマンド等の出力結果と、Bファイルの出力結果のファイルサイズやタイムスタンプを見比べて、相違があると メッセージを出力させます。 このような動作のシェルはどのように作るのでしょうか。

  • 画面のテキストをファイル出力

    画面に表示したテキストをファイルに出力する方法はありませんか。 fprintfを画面出力と同時に実行すればよいのですが、 fprintfをプログラムに追加していくとフローチャートを 書き直さなければならないので何か方法があれば教えてください。 お願いします。 環境 windows XP borland c++ 5.5

  • GPG暗号化をシェルスクリプトで実行する方法

    いつもお世話になっております。 パスフレーズの入力しGPGコマンドでファイルの暗号化を自動化するシェルスクリプトの書き方について教えてもらえませんでしょうか。 あるファイルをgpgコマンドを使いパスフレーズを入力し暗号化したいのですが、 > gpg -c ORG_FILE パスフレーズ入力 パスフレーズ再入力 このパスフレーズを指定して実行する作業を自動化したいと思っています。 このGPG暗号化パスフレーズの入力、再入力をシェルスクリプトで実行するにはどのようなコマンドの書き方をすればよいかご教授願えませんでしょうか。 どうぞ宜しくお願い致します。