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
相关推荐
小虎卫远程打卡app35 分钟前
光通信与视频编码前沿技术综述:从超大容量传输到实时神经网络编码
运维·网络·信息与通信·视频编解码
钛态1 小时前
Flutter for OpenHarmony:mockito 单元测试的替身演员,轻松模拟复杂依赖(测试驱动开发必备) 深度解析与鸿蒙适配指南
服务器·驱动开发·安全·flutter·华为·单元测试·harmonyos
ToB营销学堂1 小时前
B2B营销自动化新解法:MarketUP聚焦高转化场景
大数据·运维·自动化
TK云大师-KK1 小时前
TikTok自动化直播遇到内容重复问题?这套技术方案了解一下
大数据·运维·人工智能·矩阵·自动化·新媒体运营·流量运营
济6171 小时前
ARM Linux 驱动开发篇---基于 pinctrl+GPIO 子系统的蜂鸣器驱动开发(设备树版)--- Ubuntu20.04
linux·嵌入式·嵌入式linux驱动开发
AiGuoHou11 小时前
Debian/Ubuntu 各个版本一键更换国内镜像源
linux·ubuntu·国内源·debian·镜像源·换源
蓝羽天空1 小时前
Ubuntu 24.04 安装 Docker
linux·ubuntu·docker
T0uken1 小时前
WSL:离线配置 Ubuntu 开发环境
linux·运维·ubuntu
�羡阳丶1 小时前
ubuntu22.04+5060显卡双系统安装,各种黑屏踩坑记录
linux·经验分享·ubuntu
b_xinjun11201 小时前
树莓派 Ubuntu 24.04.3 LTS 安装 OpenClaw 操作说明
linux·ubuntu·arcgis