一、grep —— 文本搜索工具

格式:grep [OPTIONS] PATTERN [FILE...]

OPTIONS:

-i:忽略大小写

--color:显示匹配字符高亮颜色

-v:取反

-o:只显示被匹配到的字符串

-c:只显示匹配结果行数

-n:显示匹配结果的同时在前面显示在该文件里对应的行数

-E:使用扩展正则表达式

-A 行数:显示匹配行数和匹配行数的后两行

-B 行数:显示匹配行数和匹配行数的前两行

-C 行数:显示匹配行数和匹配行数的前后两行

正则表达式:

元字符:

.:表示匹配任意单个字符

[]:匹配指定范围内的任意单个字符

[^]:匹配指定范围外的任意单个字符

字符集合:

[:space:]:空白字符

[:punct:]:标点符号

[:lower:]:小写字母

[:upper:]:大写字母

[:alpha:]:大小写字母

[:digit:]:数字

[:alnum:]:数字和大小写字母

匹配次数:

*:匹配其前面的字符任意(0次或多次)

.*:任意长度的任意字符

\?:匹配其前面的字符1次或0次

\{m,n\}:匹配其前面的字符至少m次,最多n次

位置锚定:

^:锚定行首,此字符后面的任意内容必须出现在行首

$:锚定行尾,此字符前面的任意内容必须出现在行尾

^$:空白行

单词锚定:

\<:其后面的任意字符必须作为单词的首部出现

\>:其前面的任意字符必须作为单词的尾部出现

\(\):分组

example:\(ab\)*:可以匹配任意个ab

后向引用:

\1:引用第一个左括号以及与之对应的右括号所包含的所有内容(前面匹配到什么,后面就引用什么)

\2:引用第二个左括号

\3:引用第三个左括号

...

example:从/etc/inittab文件中找出包含0-9后面跟任意字符串以0-9结尾的行(\1引用[0-9]);

grep '\([0-9]\).*\1$' /etc/inittab

扩展正则表达式:grep -E 或 egrep

字符匹配:

.

[ ]

[^]

次数匹配:

*:匹配其前面的字符任意(0次或多次)

?:匹配其前面的字符1次或0次

+:匹配其前面的字符至少1次

{m,n}:匹配其前面的字符至少m次,最多n次

位置锚定:

^

$

\<

\>

分组:()

\1,\2,\3,...

|:或

example:A|abc,匹配A或者abc

二、sed —— Stream EDitorsed(流编辑器)

格式:sed [OPTIONS] 'AddressCommand' file ...

OPTIONS:

-n:静默模式,不再默认显示模式空间中的内容

-i:直接修改原文件

-e script -e script:可以同时执行多个脚本

-f file:指定文件脚本

-r:表示使用扩展正则表达式

Address:

1、StartLine,EndLine

比如1,100

$:最后一行

$-1:倒数第二行

2、/RegExp/

/^root/——>以root开头的行

3、/pattern1/,/pattern2/

第一次被pattern1匹配到的行开始,到第一次被pattern2匹配到的行结束,这中间的所有行

4、LineNumber

指定的行

5、StartLine,+N

从StartLine开始,向后的N行

Command:

d:删除符合条件的行

p:显示符合条件的行

a \string:在指定的行后面追加新行,内容为string

example:sed '/^\//a \# hello\n# test' /etc/fstab——>在/开头的行后添加hello和test两行

\n:换行

i \string:在指定的行前面追加新行,内容为string

r file:将指定的文件跟内容添加到符合条件的行处

example:sed '2r /etc/issue' /etc/fstab——>将/etc/issue的内容添加到/etc/fstab文件的第二行后

w file:将指定范围内的行另存到指定的文件中

s/pattern/string/修饰符:查找并替换,默认只替换每行中第一次被模式匹配到的字符串

加修饰符:

g:全局替换

i:忽略大小写

&:引用模式匹配到的整个字符串

example:

sed 's/l..e/&r/g' file——>把匹配到的用&引用到后面

sed 's/\(l..e\)/\1r/g' file

sed 's/l\(..e\)/L\1/g' file

转载于:https://blog.51cto.com/yuyucat/1651908

grep、sed命令使用记录相关推荐

  1. linux 文本编辑命令grep sed awk

    grep grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具 ...

  2. 正则表达式(grep命令,egrep命令,sed命令,awk命令,sort工具,uniq工具)

    文章目录 正则表达式 基础正则表达式:grep命令 查找行首"^"与行尾字符"$ 查找连续字符范围{} 元字符总结 正则表达式总结 扩展正则表达式 egrep命令 sed ...

  3. 对文件指定行进行编辑和保存 linux,linux 文本编辑命令grep sed awk(转)

    [:digit:] 数字字符[:graph:] 非空字符(非空格.控制字符)[:lower:] 小写字符[:cntrl:] 控制字符[:print:] 非空字符(包括空格)[:punct:] 标点符号 ...

  4. Linux中正则表达式与文件格式化处理命令(awk/grep/sed)

    一.正则表达式 1.1国际字符模式匹配或匹配模式的类名 [:alnum:] : 0-9,A-Z,a-z [:alpha:] : A-Z,a-z [:upper:] : A-Z [:lower:] : ...

  5. 【Shell牛客刷题系列】SHELL1 统计文件的行数:学习wc命令和文本三剑客awk、grep、sed命令

    该系列是基于牛客Shell题库,针对具体题目进行查漏补缺,学习相应的命令. 刷题链接:牛客题霸-Shell篇. 该系列文章都放到专栏下,专栏链接为:<专栏:Linux>.欢迎关注专栏~ 本 ...

  6. Linux三剑客命令详解(grep sed awk )

    下面所说的是Linux中最重要的三个命令在业界被称为"三剑客",它们是awk,sed,grep. 我们现在知道Linux下一切皆文件,对Linux的操作就是对文件的处理,那么怎么能 ...

  7. linux 三剑客命令(grep,sed ,awk)

    grep 命令 :强大的文本'搜索'工具 1.grep -n 'word' file_name 在file_name文件中找到word所在的所有行并显示.-n 为显示行号. 2.grep 'w[ea] ...

  8. cut\grep\awk\sed命令详解

    cut\grep\awk\sed命令详解 1.cut命令详解及实例 (1)作用:提取文件中指定的列 语法格式:cut  选项  文件名   (2)选项作用:      -d 分隔符     按照指定的 ...

  9. 文本三剑客之sed命令--文本替换;grep命令---文本过滤

    目录 1.sed简介 2.sed的p命令--打印匹配行 3.sed的d命令--删除指定行 4.sed的a命令--在匹配行后面追加 5.sed的i命令--在匹配行前面插入 6.sed的c命令--整行替换 ...

最新文章

  1. python编程 从入门到实践怎么样-python编程从入门到实践这本书怎么样
  2. 怎么给linux分区,如何合理地给你的Linux分区
  3. Maven基础知识--Maven资源库详述
  4. MFC 列表控件CListCtrl加载类似QQ界面的头像与文字
  5. vscode设置折行字数
  6. 怎么检测mysql主从正常_使用pt-table-checksum检查主从复制是否正常
  7. 名校和非名校[两个实习生的事]
  8. python基础整理——关于进制输出初探
  9. (第十四章)创建储存过程与创建函数
  10. 《Java多线程编程核心技术》读书笔记
  11. seurat提取表达矩阵_本周最新文献速递20200719
  12. mac high sierra开机按option怎么只有一个磁盘_Mac降级重装必备 | MacOS 制作启动U盘及安装方法!...
  13. 华为NP课程笔记7-BGP1
  14. 遗传算法原理及算法步骤(学习篇·上)
  15. Floyd最短路算法
  16. 出现504怎么办?由于服务器更新导致的博客报504错误[详细记录]
  17. 安卓Tasker自动转发短信到邮箱
  18. MTK6737平台匹配设备节点的方法
  19. 给大家推荐一个卖旧衣服的,vx/zfb“麻袋到家旧衣服回收”可以下单啦,快递小哥免费上门取,0.5/kg,闲置衣服再也不用扔到垃圾桶了
  20. 无人机航模电池上面有20C 30C,这是放电倍率

热门文章

  1. 关于计算机的英语作文八百字,小学英语作文800字(精选10篇)
  2. linux安装中文输入法sc,Linux下安装Discuz_7.2_FULL_SC_GBK
  3. Linux写出相应密码的用途,linux运维面试题中级
  4. mysql基础_MySQL基础
  5. php sub pos,PHP pos() 函数
  6. 装修材料石膏线品牌加盟类织梦模板
  7. Imagine开源图片压缩程序源码
  8. 4.9 利用对应的泛型替换Hashtable[转]
  9. Linux: Shell编程基础
  10. Python实例讲解 -- 发送邮件带附件 (亲测)