我的awk常用命令备忘 xargs备忘

#   docker批量tag       goharbor镜像  并推送

docker images | grep goharbor | sed 's/goharbor/harbor.mtr.bj.cn\/goharbor/g' | awk '{print "docker tag"" " $3" "$1":"$2}'|sh

docker images |grep "harbor.mtr.bj.cn/goharbor" |awk '{print $1":"$2}'|xargs -i docker push {} &

#   xargs 批量删除   shell

kubectl get deployment -n coding |awk '{print $1}' |xargs kubectl rollout restart deployment -n coding   # 重启所有 coding命名空间 deployment
docker images | grep v2.7.0 | awk '{print $1":"$2}' | xargs -i docker rmi {} & # 批量删除含v2.7.0 的镜像

# 重启业务deployment脚本

#!/bin/bash
user_list=$(cat /etc/passwd | awk -F: '$3>=500' | cut -f 1 -d :)
ns_list=$(kubectl get namespaces |grep -v ^kub | grep -v ^tcr |grep -v ^NAME | grep -v ^app | grep -v ^def | grep -v ^prom | awk '{print $1}')
#使用列表for循环显示5次欢迎操作
for variable  in $ns_list 
do
    echo "Hello,  ready restart  $variable  "
    #kubectl get deployments.apps -n $variable | grep -v ^NAME | awk '{print $1}' | xargs kubectl rollout restart deployment -n $variable

done

# 格式化输出   : 分隔符来分割  展示 /etc/passwd下的第一列数据

awk -F ':' '{print $1}' /etc/passwd

# 取 符号 “:” 后最后一列数据

awk -F ': ' '{print $NF}'
#指定输出第一列和第九列
$ ll | awk -F' ' '{print $1,$9}' #列之间是空格符
$ ll | awk -F',' '{print $1,$9}' #列之间是逗号符

#定输出最后一列
$ ll | awk -F' ' '{print $NF}' #列之间是空格符
$ ll | awk -F',' '{print $NF}' #列之间是逗号符

## ll命名可以由任何单命令或组合命令替换

#  例如 下面两个命令对比 取服务器的sn号码

dmidecode -t system | grep 'Serial Number'
dmidecode -t system | grep 'Serial Number' | awk -F ': ' '{print $NF}'

# 取linux  secret安全log日志里面所有登录密码错误的ip    并且过滤掉 session关键字

cat /var/log/secure|awk '/Failed/{print $(NF-3)}'|sort|uniq -c|awk '{print $2"=" $1;}'|awk '!/session:/'

# 延伸   当   Allowhosts。txt里面  有的 行就再 Denyhosts。txt 里面去除掉

awk  '{if(ARGIND==1) {val[$0]}else{if($0 in val)  delete val[$0]}}END{for(i in val) print i}' Denyhosts.txt Allowhosts.txt 
#10.69.15.32=4
#10.69.15.37=15630
cat Denyhosts.txt 
10.69.15.32=4
10.69.15.37=15630
10.69.15.80=3

cat Allowhosts.txt 
10.69.15.80=3

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值