Linux三剑客指令和正则表达式

grep

过滤

shell 复制代码
# Linux系统会自动记录远程登陆的记录,存放在var/log/secure目录下,可以基于grep来筛选异常的日志记录。
# grep '过滤的单词' 文件名
[root@MiWiFi-RA67-srv log]# grep 'Failed password' secure
# 通过正则过滤  grep -P  大写的P
[root@MiWiFi-RA67-srv log]# grep 'Failed password' secure | grep -P "(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)"
# grep -Po  只过滤符合正则的
# sort -n 排序
# uniq -c 去重 -c统计次数

sed

取行、替换、修改

shell 复制代码
# '/查找内容/p' /p固定写法 打印  /d排除掉内容,不会在原文件中删除
[root@MiWiFi-RA67-srv ~]# sed -n '/tcp/p' test.txt

awk

取列,默认以空格划分一列

shell 复制代码
# 固定写法 $后面加列号
[root@MiWiFi-RA67-srv ~]# awk '{print $1}' test.txt 
# 取指定的行  第三行
[root@MiWiFi-RA67-srv ~]# awk "NR==3" test.txt
# 指定分隔符  以:为分隔符
[root@MiWiFi-RA67-srv ~]# awk -F ':' '{print $1}' /etc/passwd

正则

  1. ^ 搜索以什么开头
  2. $ 搜索以什么结尾
  3. ^$ 空行,不是空格
  4. . 只能代表任意一个字符
  5. \ 转义 eg: . 只能代表小数点
  6. * 重复0个或多个前面的一个字符
  7. .* 匹配所有的字符 eg:^.*任意多个字符开头
  8. abc\] 匹配字符集合内任意一个字符\[a-z

  9. \^abc\] \^在括号内表示非,不包含a或b或c

    • 重复1次到多次
  10. ? 重复0次到多次
相关推荐
whp40420 分钟前
windows server2019 不成功的部署docker经历
运维·docker·容器
IT界小黑的对象1 小时前
virtualBox部署ubuntu22.04虚拟机 NAT+host only 宿主机ping不通虚拟机
linux·运维·服务器
SilentCodeY1 小时前
Ubuntu 系统通过防火墙管控 Docker 容器
linux·安全·ubuntu·系统防火墙
weixin_527550401 小时前
Linux 环境下高效视频切帧的实用指南
linux·运维·音视频
keson要进步1 小时前
CICD实战(一) -----Jenkins的下载与安装
运维·ci/cd·centos·自动化·jenkins
keson要进步1 小时前
CICD实战(二)-----gitlab的安装与配置
linux·运维·gitlab
藥瓿亭2 小时前
K8S认证|CKS题库+答案| 4. RBAC - RoleBinding
linux·运维·服务器·云原生·容器·kubernetes·cks
发非人非2 小时前
Shell编程核心符号与格式化操作详解
运维
吐泡泡_2 小时前
Linux(线程控制)
linux
tasselyue3 小时前
Macbook M3 使用 VMware Fusion 安装 openEuler24.03LTS
linux