网安学习日志(6)linux基础简单总结(grep、sed、awk)

本文介绍了Linux系统中用于文本处理的三个重要工具:grep、sed和awk。grep主要用于文本搜索,支持正则表达式且能高亮显示匹配内容;sed擅长文本编辑,能按行处理内容并进行替换、删除等操作;awk则更适用于格式化文本和进行复杂处理。文章详细讲解了这三个工具的基本用法、参数选项以及正则表达式的相关知识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

概念

awk、grep、sed是linux操作文本的三大利器,合称文本三剑客,也是必须掌握的linux命令之一。三者的功能都是处理文本,但侧重点各不相同,其中属awk功能最强大,但也最复杂。
grep更适合单纯的查找或匹配文本,sed更适合编辑匹配到的文本,awk更适合格式化文本,对文本进行较复杂格式处理。

1.grep

grep是linux中一种文本搜索工具,他有以下特点:

  • 使用正则表达式搜索文本
  • 匹配到的文本会显示出来并标红
  • 使用权限是所有用户
工作原理

grep的工作方式是这样的,它在一个或多个文件中搜索字符串模板。如果模板包括空格,则必须被引用,模板后的所有字符串被看作文件名。搜索的结果被送到标准输出,不影响原文件内容

grep可用于shell脚本,因为grep通过返回一个状态值来说明搜索的状态,如果模板搜索成功,则返回0,如果搜索不成功,则返回1,如果搜索的文件不存在,则返回2。我们利用这些返回值就可进行一些自动化的文本处理工作。

egrep = grep -E:扩展的正则表达式 (除了**< , > , \b** 使用其他正则都可以去掉\)

1.1grep的命令格式
grep 命令参数 要查询的文件名
1.2命令参数
  • -A<显示行数>:除了显示符合范本样式的那一列之外,并显示该行之后的内容。
  • -B<显示行数>:除了显示符合样式的那一行之外,并显示该行之前的内容。
  • -C<显示行数>:除了显示符合样式的那一行之外,并显示该行之前后的内容。
  • -c:统计匹配的行数
  • -e :实现多个选项间的逻辑or 关系
  • -E:扩展的正则表达式
  • -f FILE:从FILE获取PATTERN匹配
  • -F :相当于fgrep
  • -i --ignore-case #忽略字符大小写的差别。
  • -n:显示匹配的行号
  • -o:仅显示匹配到的字符串
  • -q: 静默模式,不输出任何信息
  • -s:不显示错误信息。
  • -v:显示不被pattern 匹配到的行,相当于[^] 反向匹配
  • -w :匹配 整个单词
1.2.1 -A -B -C/-c -o

首先先看我们的文本内容:
在这里插入图片描述
我们首先使用A来查询
在这里插入图片描述
可见我们的A B C参数的基本命令格式为:

grep A/B/C+要显示的行数+要查询的关键字 要查询文件名

在这里插入图片描述
-o 仅显示匹配到的字符串在这里插入图片描述

小写c的作用是返回匹配到的行数
例如:
在这里插入图片描述
这里的意思就是test文件中有两行存在a这个字符

1.2.2 -e/-E

-e的作用是实现多个选项间的逻辑or
在这里插入图片描述
它的作用实际上就是或(把要求的两种都输出出来)
在这里插入图片描述
如果另一个条件是不存在的,那么就只输出满足条件的
-E:扩展的正则表达式
对于正则表达式的部分会在下面描述。

1.2.3 -f FILE

-f FILE:从FILE获取PATTERN匹配
例如:
在这里插入图片描述
相当于把其他文件的内容作为标准进行匹配
当然多个匹配也是可以的
在这里插入图片描述

1.2.4 -n -i
  • -i --ignore-case #忽略字符大小写的差别。
  • -n:显示匹配的行号
    例如:
    在这里插入图片描述
    这里呢就是忽略大小写,然后输出a/A 再显示出他们的行号
1.2.5 - -q -s -v -w

-q叫静默模式 也就是啥也不输出(无论是存在还是不存在)
在这里插入图片描述
-v:显示不被pattern 匹配到的行,相当于[^] 反向匹配
在这里插入图片描述
-w :匹配 整个单词(精准匹配)
在这里插入图片描述

2.正则表达式

关于正则表达式的基本知识点总结我放在下面这个博客中,这里只写出我们现在需要的部分:
正则表达式:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值