• ベストアンサー

初歩的質問ですいません。

UNIX初心者です。 solarisで、障害発生時に資料を採取するシェルを作っているのですが、うまく作れないところがあるので知恵を貸してください。  資料に必要なログをあるフォルダにコピーしようと思い、必要なログ名をlsとgrepで、ファイルに出力しました(仮にファイル名をLOGNAMEとします。)このLOGNAMEファイルに記述してあるログをコピーしたいのですがいい方法ありますか? 例) LOGNAMEファイルの中 log1.log log2.log log3.log 上記の3つのログを同一フォルダ内にあるフォルダ(仮にSIRYOとします)にコピーしたいのです。 cp -p ${LOGNAME} ./SIRYO/ としても、使用方法が誤っています。となって意図したようになりません。 LOGNAMEファイルから一行ずつ抜き出してきてそれをコピーすればいいのだと思いますが、そういうコマンドが見当たらず困っています。  解決できる方法があればお知恵を貸してください。 よろしくお願いします。

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

  • ベストアンサー
  • mendokusa
  • ベストアンサー率13% (359/2726)
回答No.1

shellじゃダメなんですか for AAA in `cat LOGNAME` do cp $AAA ./SIRYO/ done くらいでどうですか

すると、全ての回答が全文表示されます。

その他の回答 (2)

回答No.3

cp `cat LOGNAME` ./SIRYO/ でどうでしょうか?

すると、全ての回答が全文表示されます。
  • Lean
  • ベストアンサー率72% (435/603)
回答No.2

以下のようなシェルスクリプトを作成すればいいかと。 -------8<-------8<-------8<-------8<------- #!/bin/sh while read LOGFILE do cp -p ${LOGFILE} ./SIRYO/ done < LOGNAME -------8<-------8<-------8<-------8<-------

すると、全ての回答が全文表示されます。

関連するQ&A