Linux-----文本三剑客补充~

一、模糊匹配

模糊匹配用 ~ 表示包含,!~表示不包含

1、匹配含有root的列

复制代码
[root@localhost ~]#awk -F: '/root/' /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
[root@localhost ~]#awk -F: '$1~ /root/' /etc/passwd
#模糊匹配 只匹配第一列含有root 的行
root:x:0:0:root:/root:/bin/bash
[root@localhost ~]#awk -F: '$1~/ro/' /etc/passwd
#只要第一列有ro就匹配上
root:x:0:0:root:/root:/bin/bash
chrony:x:995:991::/var/lib/chrony:/sbin/nologin
setroubleshoot:x:993:988::/var/lib/setroubleshoot:/sbin/nologin
[root@localhost ~]#awk -F: '$7~/nologin/ {print $1,$7}' /etc/passwd
#只要第7列有nologin   就打印出第1列和第7列
bin /sbin/nologin
daemon /sbin/nologin
adm /sbin/nologin

2、打印1-200之间所有能被7整除并且包含数字7的整数数字

复制代码
[root@localhost ~]#seq 200 | awk '$1%7==0'
7
14
21
28
35
......
182
189
196
[root@localhost ~]#seq 200 | awk '$1%7==0 && $1~/7/'
7
70
77
147
175

3、提取内存占用总内存的百分比

1.方法一

复制代码
[root@localhost ~]#free
              total        used        free      shared  buff/cache   available
Mem:        7994076      297020     7334304        9316      362752     7411588
Swap:       5238780           0     5238780
[root@localhost ~]#free -m |awk '/Mem:/ {print int($3)}'
290
[root@localhost ~]#free -m |awk '/Mem:/ {print int($2)}'
7806
[root@localhost ~]#free -m |awk '/Mem:/ {print $3/$2}'
0.0371509
[root@localhost ~]#free -m |awk '/Mem:/ {print $3/$2*100}'
3.71509
[root@localhost ~]#free -m |awk '/Mem:/ {print int($3/$2*100)"%"}'
3%

2.方法二

复制代码
[root@localhost ~]#free
              total        used        free      shared  buff/cache   available
Mem:        7994076      297020     7334304        9316      362752     7411588
Swap:       5238780           0     5238780
[root@localhost ~]#free -m |awk '/Mem:/ {print int($3)}'
290
[root@localhost ~]#free -m |awk '/Mem:/ {print int($2)}'
7806
[root@localhost ~]#free -m |awk '/Mem:/ {print $3/$2}'
0.0371509
[root@localhost ~]#free -m |awk '/Mem:/ {print $3/$2*100}'
3.71509
[root@localhost ~]#free -m |awk '/Mem:/ {print int($3/$2*100)"%"}'
3%
[root@localhost ~]#free -m |awk '/Mem:/ {print $3/$2*100}'|awk -F. '{print $1}'
3
[root@localhost ~]#free -m |awk '/Mem:/ {print $3/$2*100}'|awk -F. '{print $1"%"}'
3%

4、查看暴力破解密码主机的IP地址

1.使用awk方法破解

复制代码
[root@localhost ~]#cat /var/log/secure


[root@localhost ~]#cat /var/log/secure|awk '/Failed/{print $13}'
192.168.56.254
192.168.56.254
192.168.56.254
[root@localhost ~]#cat /var/log/secure|awk '/Failed/{print $13}'|sort -n
192.168.56.254
192.168.56.254
192.168.56.254
[root@localhost ~]#cat /var/log/secure|awk '/Failed/{print $13}'|sort -n|uniq -c
      3 192.168.56.254

2.使用循环方法破解

复制代码
[root@localhost ~]#cat /var/log/secure


[root@localhost ~]#awk '/Failed/{ip[$13]++}END{for(i in ip){print i"," ip[i]}}' /var/log/secure
192.168.56.254,3
[root@localhost ~]#awk '/Failed password/{ip[$13]++}END{for(i in ip){print i"," ip[i]}}' /var/log/secure
192.168.56.254,3
相关推荐
skywalk816340 分钟前
docker的开源跨平台替代Vagrant
linux·运维·docker·容器·vagrant
monster_风铃1 小时前
华为实验:SSH
运维·ssh
捏尼卜波卜3 小时前
try/catch/throw 简明指南
linux·开发语言·c++
IDOlaoluo3 小时前
Linux 安装 JDK 8u291 教程(jdk-8u291-linux-x64.tar.gz 解压配置详细步骤)
java·linux·运维
烷烯4 小时前
安全基础DAY1-安全概述
linux·服务器·安全·常见网路攻击
YueiL5 小时前
Linux文件系统基石:透彻理解inode及其核心作用
linux·网络·数据库
神即道 道法自然 如来6 小时前
如何在linux(CentOS7)上面安装 jenkins?
linux·运维·jenkins
xiao-xiang6 小时前
jenkins-飞书通知机制
运维·jenkins·飞书
你我约定有三7 小时前
云服务器--阿里云OSS(2)【Springboot使用阿里云OSS】
服务器·spring boot·阿里云
花小璇学linux7 小时前
imx6ull-驱动开发篇16——信号量与互斥体
linux·驱动开发·嵌入式软件