首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >匹配dd:dd:dd并在bash中做一些事情

匹配dd:dd:dd并在bash中做一些事情
EN

Stack Overflow用户
提问于 2017-11-03 09:20:05
回答 1查看 31关注 0票数 0

我试图匹配一些数字,如“38:00”中的device_output文件、从sftp服务器收集的,并在发送带有该输出的邮件时添加一些if条件。我做了一些事情,但我想在egrep之外有一些更高级的代码":":)

device_output文件

代码语言:javascript
复制
<style>
table,td{blbalba}
</style>
Device Name     Ip Address  Flaps   ASN Uptime
Nexus           182.168.2.2 0       300 38:00:20
ASA Firewall    182.168.2.3 0       400 44:01:20
ASR CUBE        182.168.2.4 0       400 22w02d
VMWare          182.168.2.5 0       400 12:03:20
Nexus           182.168.2.5 0       400 12w03d
Nexus           182.168.2.5 0       400 12:03:20

bash脚本:

代码语言:javascript
复制
#!/bin/bash

#Variables 
SFTPHOSTNAME="192.168.1.1"
SFTPUSERNAME="user"
SFTPPASSWORD="pass"
FOLDER="/home/$USER/ftp"
#SFTP CONNECTION
output=$(sshpass -p $SFTPPASSWORD sftp $SFTPUSERNAME@$SFTPHOSTNAME << !
    cd $FOLDER
    get device_status
 exit
!);

#!/bin/bash
if egrep ":" device_output ; then

          cat device_output | egrep ":|style|table|Device"  | mailx -s "$(echo -e "BGP Sessions Uptime Issue \nContent-Type: text/html")" -r from_user@yah to_user@yah
else
        exit 0
fi
EN

回答 1

Stack Overflow用户

发布于 2017-11-03 11:07:10

我想你可以这样用白鹭:

代码语言:javascript
复制
egrep ".:..:.."

1:00:0038:00:00相匹配的

或者,如果你关心数字:

egrep "[0-9]:[0-9][0-9]:[0-9][0-9]|[0-9]:"也会匹配

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47092166

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档