shell-信息截取妙用

实例1:

1、对Apache日志,编写对应的处理脚本
输入:
Apache
2020-02-03 11:03:23 WARN My warning message repeated 3 times
2020-02-03 11:03:23 ERR oops, error message repeated 8 times
2020-02-03 11:03:26 ERR this is my error message repeated 1 times
2020-02-03 11:03:26 WARN MY warning , so scary, repeated 1 times
2020-02-03 11:03:26 WARN cpu utilization high, repeated 1 times
2020-02-03 11:03:29 INFO this is for test repeated 2 times

1.1统计不同级别日志的行数
输出:
Apache
WARN: 3
ERR: 2
INFO: 1
思路:
1)声明使用的shell
2)定义变量
3)对内容过滤将结果,输出
4)为了方便部门其他人使用,我们会在第二行写注释,此脚本用途

常用选项说明:

– c 显示输出中,在每行行首加上本行在文件中出现的次数。

– d 只显示重复行。

– u 只显示文件中不重复的各行。

A、过滤出所需内容,及重复次数
在这里插入图片描述
B、最终脚本

vim   uniq.sh 
#!/bin/bash
W=`grep "WARN" uniq.log | cut -d ' ' -f 3 | uniq -c | awk '{print $1}'`
E=`grep "ERR" uniq.log | cut -d ' ' -f 3 | uniq -c | awk '{print $1}'`
I=`grep "INFO" uniq.log | cut -d ' ' -f 3 | uniq -c | awk '{print $1}'`

echo "WARN:$W"
echo "ERR:$E"
echo "INFO:$I"

1.2 统计Error/WARN发生的总次数
输出:
Apache
ERR: 9
WARN: 5


实例2

1、对指定字段求和

vim 1.sh
1 aaa 123.52
2 bbb 125.54
3 aaa 123.52
4 aaa 123.52
5 ccc 126.36
在这里插入图片描述
2、分组求和,排序
在这里插入图片描述
awk ‘{count[$2] += $3} END {for(i in count ) print i, count[i]}’ sum.log | sort -nrk 2
在这里插入图片描述
3、仅从日志过滤出ip输出屏幕
awk ‘{print $1}’ access.log |sort | uniq -c | sort -n -r

4、shell 对数据备份

#!/bin/bash
if      [ -d /log/bak/ ] || mkdir -p /log/bak/
then
        tar Pcf /log/bak/log_$(date +%Y%m%d)''$(date +%H%M%S).tar.gz  /var/log/*.log
        echo "干完!可以约会啦"
fi

5、

#!/bin/bash

USER=root
#密码
PASSWORD=5EYS40T04BMF
#下载文件目录
SRCDIR=/u02/dab
#FTP目录(待下载文件目录)
DESDIR=/u01/sftpFiles
#银联IP
IP=192.168.1.10
#端口
PORT=22022

lftp -u ${USER},${PASSWORD} sftp://${IP}:${PORT}<<EOF
cd ${DESDIR}
lcd ${SRCDIR}
#需要下载的文件为text.xml
get text.xml
by
EOF

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

技术职场教练

您的是我坚持原创免费作品的不懈

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值