我在网站上搜索过但找不到详尽无遗的内容。
我有一个服务器列表“hostA hostB hostc hostd”和一个中央主机hostX
hostX通过ssh连接到服务器,并获得以下代码
==============================================================================
----- Host Bus Adapters --------- ------ Storage System ----- - I/O Paths -
### HW Path ID Interface Total Dead
==============================================================================
0 fscsi0 CKM00130600171 CL1-06 10 0
0 fscsi0 CKM00130600171 CL1-02 10 0
0 fscsi0 CKM00130600177 CL2-06 1 1
1 fscsi1 CKM00130600171 CL1-03 10 0
1 fscsi1 CKM00130600171 CL1-07 10 0
1 fscsi1 CKM00130600177 CL2-07 1 1
1 fscsi1 CKM00130600177 CL2-03 1 1
2 fscsi2 CKM00130600171 CL1-06 10 0
2 fscsi2 CKM00130600171 CL1-02 10 0
2 fscsi2 CKM00130600177 CL2-02 1 1
2 fscsi2 CKM00130600177 CL2-06 1 1
3 fscsi3 CKM00130600171 CL1-03 10 0
3 fscsi3 CKM00130600171 CL1-07 10 0
3 fscsi3 CKM00130600177 CL2-07 1 1
我应该完成一个脚本,看看是否有死路径并发送电子邮件。
但我不知道如何阅读最后一栏,我做了最后一栏的推断,但不知道如何比较
awk '{print $(NF)}' /SERVER/hostA.txt |grep -x '[0-9]*'
你可以帮帮我吗?
最好的问候
Isifer
答案 0 :(得分:1)
awk '$NF==1' /SERVER/hostA.txt |
while IFS= read -r line
do
mailx -s "Its dead, Jim: $line" ...
done
根据需要完成/替换mailx行......
答案 1 :(得分:0)
如果您只想grep不以0结尾的行,可以使用
grep '[^0]$\|[0-9]0$'
即。该行的最后一个字符不是0,或者前面是另一个数字。