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

A 回答 (3件)

shellじゃダメなんですか



for AAA in `cat LOGNAME`
do
cp $AAA ./SIRYO/
done


くらいでどうですか
    • good
    • 0

cp `cat LOGNAME` ./SIRYO/



でどうでしょうか?
    • good
    • 0

以下のようなシェルスクリプトを作成すればいいかと。



-------8<-------8<-------8<-------8<-------
#!/bin/sh

while read LOGFILE
do
cp -p ${LOGFILE} ./SIRYO/
done < LOGNAME
-------8<-------8<-------8<-------8<-------
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング