1 GREP多重筛选
## 1 -e选项实现搜索并列存在的多个之一关键词(或)
ls | grep -e tmp -e db
## 2 -E正则表达式检索多个并列条件()--通过正则表达式或操作
ls | grep -E "lib|tmp"
2 GREP常见参数梳理
grep -v 排除内容
grep -B 显示匹配行和之前num行
grep -A 显示匹配行和之后num行
grep -C 显示匹配行和前后num行
grep --color=auto 匹配字符串加色显示
grep -n 打印行号
grep -i 不区分大小写
grep -w 匹配单词
grep -E 即egrep使用扩展正则表达式
grep -e 匹配多个模式
grep -c 匹配到的行数
3 kubectl结合grep的复合操作脚本
登录指定服务服务器
- 不输入关键词时候可以打印指定服务pod
- 输入关键词时候可以直接进入指定服务
#! /bin/bash
[ -z $1 ] && echo "[提示]请输入具体服务pod名字:" \
&& kubectl get po -o wide | \
grep -e service1 -e service2 -e service3 -e service4\
| awk '{print $1"\t\t"$6}' && exit 1
ip=`kubectl get pods -o wide | grep $1 | awk '{print $6}'| head -1`
echo $ip
ssh root@$ip
删除指定pod–重启服务
#! /bin/bash
[ -z $1 ] && echo "[提示]请输入具体服务pod名字:" \
&& kubectl get po -o wide | \
grep -e service1 -e service2 -e service3 -e service4\
| awk '{print $1"\t\t"$6}' && exit 1
podname=`kubectl get pods -o wide | grep $1 | awk '{print $1}'| head -1`
read -p "是否重启服务$podname, yes or no?\n #" answer
if [[ $answer == yes ]];then
kubectl delete pods $podname --grace-period=0 --force
else
echo "[提示] 跳过本次操作!退出..."
fi