期待されるスクリプトにファイル名を書き込む

期待されるスクリプトにファイル名を書き込む

いくつかの行を含むファイルがあります。

サーバーファイル.txt:

[main]
server1 param1 param2 param3
server2 param1 param2 param3

expect最後の列の最初の値を使用して、ファイル名が次のようにスクリプトでファイル名を設定したいと思います。server2_030417T124700、どこ030417T124700ファイルが生成された現在の日付。

次の行を使用して日付部分を実装できました。

#!/usr/bin/expect -f
log_file ./log/post.log
<some_code>
system mv ./log/post.log ./log/post_[clock format [clock seconds] -format {%Y%m%dT%H%M%S}].log

ところで、どこにいますか?郵便はがき_「持ちたい」サーバー2server_file.txtの最後の行に基づいて

bashコマンドを実行する変数を使用してこれを試しましたが、tail -1 server_file.txt | awk '{print $1}'成功しませんでした。 bashコマンドを使わずにこれが可能だと思いました。

ベストアンサー1

tclexpectサーバー名を取得するには、スクリプトに次の3行のコードを追加します。

set fp [open "server_file.txt" r]
while {[gets $fp data] >= 0} {set servername [lindex [regexp -inline -all -- {\S+} $data] 0]}
close $fp

おすすめ記事