わかりました、ここでまた ssh に苦労しています。トークンに基づいてリモート ログ ファイルからデータを取得しようとしています。ssh経由でegrepコマンドで複数のトークンを渡そうとしています:
IFS=$'\n'
commentsArray=($(ssh $sourceUser@$sourceHost "$(egrep "$v" /$INSTALL_DIR/$PROP_BUNDLE.log)"))
echo ${commentsArray[0]}
echo ${commentsArray[1]}
commax=${#commentsArray[@]}
echo $commax
$v は以下のようなものですが、長さは動的です。つまり、パイプで区切られた多くのファイル名を持つことができます。
UserComments/propagateBundle-2013-10-22--07:05:37.jar|UserComments/propagateBundle-2013-10-22--07:03:57.jar
私が得る出力は次のとおりです。
oracle@172.18.12.42's password:
bash: UserComments/propagateBundle-2013-10-22--07:03:57.jar/New: No such file or directory
bash: line 1: UserComments/propagateBundle-2013-10-22--07:05:37.jar/nouserinput: No such file or directory
0
注目に値するのは、ログ ファイルのデータにスペースが含まれていることです。したがって、私が与えたコードでは、抽出したい実際のコメントは、次のようなjarファイル名の後に始まります: UserComments/propagateBundle-2013-10-22--07:03:57.jar/
実際のコメントは「New Life Starts here」ですが、ログは、実際には「New」まで取得していて、スペースで壊れていることを示しています。私はIFSを与えようとしましたが、役に立ちませんでした。おそらくリモートで提供する必要がありますが、どうすればよいかわかりません。何か助けはありますか?