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次到多次
相关推荐
荣光波比39 分钟前
Nginx 实战系列(一)—— Web 核心概念、HTTP/HTTPS协议 与 Nginx 安装
linux·运维·服务器·nginx·云计算
武文斌771 小时前
单片机:DS18B20测温度、74HC595扩展芯片、8*8LED矩阵
运维·服务器·单片机·嵌入式硬件
fengfuyao9851 小时前
诊断并修复SSH连接Github时遇到的“connection closed“错误
运维·ssh·github
scugxl1 小时前
centos7 docker离线安装
运维·docker·容器
绿箭柠檬茶3 小时前
Ubuntu 使用 Samba 共享文件夹
linux·运维·ubuntu
工藤新一¹4 小时前
Linux —— 虚拟进程地址空间
linux·运维·服务器·c/c++·虚拟进程地址空间
Aspiresky4 小时前
浅析Linux内核scatter-gather list实现
linux·dma·scatter/gather
奔跑吧 android5 小时前
【linux kernel 常用数据结构和设计模式】【数据结构 3】【模拟input子系统input_dev和input_handler之间的多对多关系】
linux·数据结构·input·kernel·input_dev·input_handler·input_handle
再难也得平5 小时前
Linux初级篇
linux·运维·服务器
小猫挖掘机(绝版)6 小时前
通过tailscale实现一台电脑上vscode通过ssh连接另一台电脑上的VMware Linux 虚拟机
linux·windows·vscode·ubuntu·ssh