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

grep

过滤

# 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

取行、替换、修改

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

awk

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

# 固定写法 $后面加列号
[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
  10. {n,m} 重复n到m次
  11. + 重复1次到多次
  12. ? 重复0次到多次

相关推荐

  1. Linux剑客指令表达式

    2024-04-21 14:06:01       38 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-21 14:06:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-21 14:06:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-21 14:06:01       82 阅读
  4. Python语言-面向对象

    2024-04-21 14:06:01       91 阅读

热门阅读

  1. 修改Ubuntu的镜像源为阿里云镜像源

    2024-04-21 14:06:01       33 阅读
  2. Flask Web框架入门教程

    2024-04-21 14:06:01       36 阅读
  3. c语言数据结构之哈希表

    2024-04-21 14:06:01       36 阅读
  4. 第六章 二叉树 part02

    2024-04-21 14:06:01       41 阅读
  5. IoTDB数据库整合MyBatis实现SpringBoot项目CRUD

    2024-04-21 14:06:01       33 阅读
  6. python笔记之面向对象

    2024-04-21 14:06:01       39 阅读
  7. docker-compose搭建MongoDB

    2024-04-21 14:06:01       32 阅读
  8. 【QT进阶】Qt http编程之http与https简单介绍

    2024-04-21 14:06:01       42 阅读