小编Pi4*_*All的帖子

从文件末尾查找字符串的第二次出现

我有一个看起来像这样的日志文件,

Another thousand lines above this
I 10/03/15 12:04AM 42 [Important] 4th to last
I 10/03/15 04:31AM 42 (534642712) [1974,2106,258605080,0,0,32817,30711]
I 10/03/15 04:33AM 42 (2966927) [91,0,2966927,0,0,291,291]
I 10/03/15 04:52AM 42 (3026559) [93,0,3026559,0,0,314,314]
I 10/03/15 04:55AM 42 (3065494) [94,0,3065494,0,0,301,301]
I 10/03/15 05:04AM 42 [Important] 3rd to last
I 10/04/15 12:04AM 42 [Important] 2nd to last occurence
I 10/04/15 04:31AM 42  (7,30711]55
I 10/04/15 04:33AM 42 dfsadfs,0,0,291,291]
I 10/04/15 04:52AM 42 (30,0,314,314]
I 10/04/15 04:55AM 42 (30,301]
I 10/04/15 05:04AM 42 [Important] …
Run Code Online (Sandbox Code Playgroud)

sed awk text-processing

7
推荐指数
2
解决办法
6256
查看次数

在 bash 脚本的循环中调用期望脚本

我试图通过一个期望脚本循环一个站点列表。循环将获取我的列表并逐行读取它,将目录更改为站点名称的文件夹,然后将站点名称传递给期望脚本。

Bash 脚本:

#!/bin/bash
sites="/home/user/sites.cfg"

while read site; do
  cd /home/user/$site
  pwd
  echo $site
  ./base.sh
done < $sites
Run Code Online (Sandbox Code Playgroud)

期待脚本:

#!/usr/bin/expect

set site [lindex $argv 0]
set timeout 3

logfile services
spawn ssh -oStrictHostKeyChecking=no -oCheckHostIP=no -oUserKnownHostsFile=/dev/null user@$site
expect "password" { send mypassword\r }
expect "#"
send environment\ no\ more\n
expect "#"
send show\ service\ service-using\n
expect "#"
send logout\n
Run Code Online (Sandbox Code Playgroud)

结果:

user@myserver:~$ sh show-database.sh
/home/user/site-01
site-01
show-database.sh: 11: show-database.sh: ./base.sh: not found
/home/user/site-02
site-02
show-database.sh: 11: show-database.sh: ./base.sh: not found
Run Code Online (Sandbox Code Playgroud)

我希望在每个站点的每个文件夹中看到一个名为 services …

bash expect

4
推荐指数
1
解决办法
9654
查看次数

标签 统计

awk ×1

bash ×1

expect ×1

sed ×1

text-processing ×1