文章目录
一、grep命令
基本了解:
- grep主要用于过滤文本数据。
grep匹配模式:
- egrep支持扩展的正则表达式。
- fgrep不需要转义,不支持正则
- grep [options] regex [files] regex表示正则表达式
选项 | 释义 |
---|---|
-w | 不加-w,贪婪模式,只要有就显示 |
-o ‘pattern’ | 仅显示匹配正则的字段 |
–color=auto | 以彩色方式显示关键字 |
-i | 忽略大小写 |
-v | 不匹配匹配的,反向选择 |
-l | 输出匹配的文件名 |
-L | 输出不匹配的文件名 |
-c | 输出匹配的数目(行数) |
-n | 输出匹配行时在前面加上文件名及在其中的行数 |
-x | 匹配整行 |
-A nu | 输出匹配到的当前行及后nu行 |
-B nu | 输出匹配到的当前行及前nu行 |
-C nu | 输出匹配到的当前行及前后nu行 |
-E | 支持扩展的正则表达式 |
-F | 不支持正则表达式,即不需要转义 |
-h | 抑制文件名的输出 |
-s | 抑制类似找不到文件等错误信息 |
-a | 针对二进制文件使用 |
二、sed命令
基本了解:
- SED工具用来对文本进行过滤与替换操作,特别是在用脚本处理配置文件。
- sed的模式空间:sed通过文件或管道读取文件内容,并将读入的内容复制到缓冲区中的过程。默认情况下,sed并不直接修改源文件,而是直接在对缓冲区中的内容进行操作。除非用sed -i这个功能,才能直接修改原文件内容。
2.1 选项参数
选项 | 释义 | 示例 |
---|---|---|
-n | 一般sed的用法中,所有来自 STDIN的资料一般都会被列出到屏幕上。 但如果加上 -n 后,则只有sed 特殊处理的那一行(或者动作)才会被列出来。 常与参数p配合使用。 |
sed -n “s#a#t#gp” 1.txt 替换1.txt中所有a为t |
-e | 直接在指令列模式上进行 sed 的动作编辑 | sed -e ‘s/999/777/g’ baimu.sh |
-f | 直接将 sed 的动作写在一个文件内 | |
-r | sed 的动作支援的是延伸型正规表示法的语法(预设基础正规表示法语法) | |
-i | 直接修改读取的文件内容,而不是由屏幕输出 | sed -i ‘s/999/888/g’ baimu.sh |
1.参数-e用法示例。
2.参数-i用法示例。
3.参数-n用法示例,配合p使用。
2.2 常用命令
sed常用命令语法:
- sed 【选项参数】 ‘命令’ 【文件名】
命令 | 释义 |
---|---|
a\ | 新增append ,a 后面可以接字串,而这些字串会新的在目前的下一行出现。 |
i\ | 插入, i 后面可以接字串,而这些字串会新的在目前的上一行出现。 |
d | 删除,因为是删除,所以 d 后面通常不接任何 |
c\ | 整行取代。 |
s\ | 取代(查找并替换),通常这个 s 的动作可以搭配正规表示法 |
p | 打印(显示),亦即将某个选择的资料印出,通常与参数 sed -n一起 |
1.新增。在显示结果的第2行下添加内容000。
2.插入。在显示结果的第2行上添加内容88888。
3.删除。
4.整行取代。
5.查找字符取代。