shell脚本嵌入expect和awk命令

本文介绍了在shell脚本中如何嵌入expect和awk命令,特别是awk命令在处理复杂任务如分析nginx日志时的应用。在expect代码块中,注意使用`interact`或`send exit expect eof`来结束交互。对于awk命令,复杂情况需用花括号包裹并转义 `$` 符号。举例说明,作者分享了查看多台服务器上nginx日志并统计秒级访问量最大10个的场景。文章提供了多个参考资料供读者深入学习。
摘要由CSDN通过智能技术生成

网上查了好多资料 感觉也没怎么看明白 哭晕在厕所 我这智商是不是得转产品去了额。。。
主要是因为写了好几个版本 最后把能用的都改瞎了 看来还得再写几个别的 总结总结才好
总之 注意几点:
1、expect代码块里面末尾需要写
interact(但是我写了这句话不太好使 可能是因为有EOF的原因?)

send exit\r
expect eof
2、expect代码块中像简单的send ls\r这种直接写就好了,遇到比较复杂的awk命令得用{}阔起来,$需要转义一下。。。
{}:保留所有字符原有的意思,而不做解释,类似于shell中的单引号。

下面是最近写的查看n个服务器上的nginx log文件,然后统计每秒钟访问量最大的10个。。。awk命令用的也比较low。。。

#!/bin/sh
funcA() {
expect << EOF
set timeout 100
spawn ssh username@$server
expect password
send $pass
send {cat /var/log/nginx-access.log-20180714 | a
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值