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
相关推荐
aningx8 小时前
cachyos 从 GRUB 切换到 rEFInd
linux
第404号工位9 小时前
40块钱二手瘦客户端,如何跑满家庭物联网中枢?(拒绝Docker爆盘实录)
linux·架构·node.js
对象存储与RustFS9 小时前
网盘限速逼你开会员?用 RustFS 自己搭一个不限速的“私人网盘
服务器·后端·docker
骑着蜗牛撵大象32711 小时前
Linux 进程间通信之管道:从 pipe() 的内核语义到 FIFO 落地排错
android·java·linux·系统编程·fifo·管道·进程间通信
众壹新能源科技11 小时前
逆变器自带无功不够用,加装5MVar SVG后功率因数从0.85回到0.99
运维·人工智能·自动化
..Dauntless..11 小时前
【Linux】一切皆文件和缓冲区
linux·运维·服务器
裕晟资质规划11 小时前
三类资质变更报告时限差在哪?军工 15 日、集成印制 10 日
大数据·服务器·网络
QMCY_jason11 小时前
x86 ubuntu2204 无gui 安装 openeuler 2203 aarch64版本
linux·运维·服务器
重生之小比特11 小时前
【Linux系统】12 进程程序替换 自定义Shell 命令行解释器
linux·运维·服务器
轻舟技术A11 小时前
Provider 不属于 Agent 核心:rpi 的分层理由与收益
服务器·网络