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
相关推荐
来鸟 鸣间5 分钟前
i2c_add_driver关键流程
linux·i2c
fengyue011018 分钟前
C++使用epoll实现高并发tcp服务
linux·服务器·网络·c++
谷雨不太卷26 分钟前
Linux_文件指令
linux·运维·服务器
0vvv030 分钟前
Vimer
linux·靶机
MediaTea32 分钟前
Python:实例 __dict__ 详解
java·linux·前端·数据库·python
jerryinwuhan42 分钟前
linux_shell_2
linux
Hncj202242 分钟前
项目02--JsonRpc
linux·c++·ubuntu·rpc
物联网软硬件开发-轨物科技1 小时前
【轨物方案】智能割草机物联网软硬件一体化解决方案
运维·物联网
个案命题1 小时前
鸿蒙ArkUI组件通信专家:@Param装饰器的奇幻漂流
java·服务器·前端
JobDocLS1 小时前
Linux系统相关知识
linux·运维·服务器