美文网首页
2019-04-18grep,sed使用

2019-04-18grep,sed使用

作者: 看见光明才有希望 | 来源:发表于2019-04-18 15:42 被阅读0次

grep
文件查找、替换

-i 不区分大小写

-v 取反

-n 标记数列

-o 显示运行信息

-e 可以使用扩展数列

-w 取单词

[root@lidao ~]# grep -w 'oldboy' /oldboy/oldboy.txt 
oldboy
oldboy
oldboy
[root@lidao ~]# grep  'oldboy' /oldboy/oldboy.txt 
oldboy
oldboy
oldboyoldboy
oldboy
oldboy1oldboys
wkoldboy

-l 只显示文件名 ,不显示文件内容

[root@lidao ~]# grep -l 'oldboy'
/oldboy/oldboy.txt 

/oldboy/oldboy.txt

-R 递归查询,目录

[root@lidao ~]# grep -R /tmp/ /etc /oldboy/
/etc/libreport/events.d/abrt_event.conf:# EVENT=post-create   date >/tmp/dt  # semicolon is not needed here!
/etc/libreport/report_event.conf:# EVENT=post-create   date >/tmp/dt  # semicolon is not needed here!
/etc/libreport/report_event.conf:#EVENT=report_Dummy analyzer=libreport echo "Hello world" >> /tmp/libreport.log
/etc/selinux/targeted/active/file_contexts:/tmp/.*  <<none>>
/etc/selinux/targeted/active/file_contexts:/usr/tmp/.*  <<none>>
/etc/selinux/targeted/active/file_contexts:/var/tmp/.*  <<none>>

-A
显示grep找出的内容及接下来的几行 英译after

[root@lidao ~]# seq 10 | grep -A2 "1"
1
2
3
--
10

-B

before

-C
-C2 ===-A2 -B2

sed的作用

增加、替换、查询、删除

每个文件 源源不断水流(一行接一行)stream edirtor 流编辑器

增删改查

sed命令执行过程
-n 详细显示命令

[root@lidao ~]# sed -n '3p' /oldboy/oldboy.txt
3

 sed -n '3p' /oldboy/oldboy.txt
 参数 条件  命令 文件名
 
 p 查看文件行号
 
 根据行号进行查找
[root@lidao /oldboy]# sed -n '5p'

/oldboy/lidao.txt 
104,yy,CFO
[root@lidao /oldboy]# sed -n '1,5p' /oldboy/lidao.txt 

dao.txt
101,oldboy,CEO
102,zhangyao,CTO
103,Alex,COO
104,yy,CFO

oldboy或yy 加扩展正则加r

[root@lidao /oldboy]# sed -nr '/oldboy|yy/p' lidao.txt 
101,oldboy,CEO
104,yy,CFO

从哪来到哪去

[root@lidao /oldboy]# sed -n '/102/,/105/p' lidao.txt 
102,zhangyao,CTO
103,Alex,COO
104,yy,CFO
 append
 增加
 ```
 [root@lidao /oldboy]# sed '3a119,xiaogong,ufo' lidao.txt 

dao.txt
101,oldboy,CEO
102,zhangyao,CTO
119,xiaogong,ufo
103,Alex,COO
104,yy,CFO
105,feixue,CIO
110,lidao,COCO

追加 在你指定的行后面 -a

[root@lidao /oldboy]# sed '3a1111,lidao.txt' lidao.txt
101,oldboy,CEO
102,zhangyao,CTO
102,zhangyao,CTO
1111,lidao.txt
119,xiaohong,UFO
103,Alex,COO
104,yy,CFO
105,feixue,CIO
105,feixue,CIO
110,lidao,COCO
220,xiaoxiao.lidao

插入 在你指定的行上面 -i

[root@lidao /oldboy]# sed '3i1111,lidao.txt' lidao.txt
101,oldboy,CEO
102,zhangyao,CTO
1111,lidao.txt
102,zhangyao,CTO
119,xiaohong,UFO
103,Alex,COO
104,yy,CFO
105,feixue,CIO
105,feixue,CIO
110,lidao,COCO
220,xiaoxiao.lidao

覆盖 在这一行内容先清空 然后写入 -c

[root@lidao /oldboy]# sed '3c1111,lidao.txt' lidao.txt
101,oldboy,CEO
102,zhangyao,CTO
1111,lidao.txt
119,xiaohong,UFO
103,Alex,COO
104,yy,CFO
105,feixue,CIO
105,feixue,CIO
110,lidao,COCO
220,xiaoxiao.lidao

-d 删除

删除空行

[root@lidao /oldboy]# sed '/^$/d' oldboy.txt

[root@lidao /oldboy]# sed -n '/^$/!p'
oldboy.txt

[root@lidao /oldboy]# grep -v '^$' oldboy.txt

-s 替换

sed 's#oldboy#alex#g ' oldboy.txt

[root@lidao /oldboy]# echo 123456 |sed 's#123456#<123456>#g'

[root@lidao /oldboy]# echo 123456 |sed 's#.*#<123456>#g'
<123456>

[root@lidao /oldboy]# echo 123456 |sed -r 's#(.*)#<\1>#g'
<123456>

[root@lidao /oldboy]# echo 123456 |sed -r 's#(12)(34)(56)#\1<\2>
12<34>56

[root@lidao /oldboy]# echo 123456 |sed -r 's#(.)#<\1>#g'
<1><2><3><4><5><6>

相关文章

  • 2019-04-18grep,sed使用

    grep文件查找、替换 -i 不区分大小写 -v 取反 -n 标记数列 -o 显示运行信息 -e 可以使用扩展数列...

  • Linux awk和sed的用法

    sed工具简介 用法:sed [-nefri] 动作参数:-n:使用安静模式(Silent)模式,一般在sed的...

  • sed使用

    sed使用方法

  • 2019-07-24 课堂笔记sed命令

    昨天回顾 使用grep命令取IP地址 今日总结 sed执行原理sed执行原理.jpg sed [参数] '条件指令...

  • LINUX sed命令的使用

    LINUX sed命令的使用 命令格式 sed常用命令 sed替换标记 sed元字符集 已匹配字符串标记& ⼦串匹...

  • 六.Linux之sed命令

    sed使用方式 1.在Shell中输入: 脚本格式: 2.用sed -f命令调用sed脚本文件 3.直接执行sed...

  • sed 通配符应用

    " . " :表示匹配一个字符 " .* " :表示匹配任意字符 sed删除指定行 sed通配符使用 sed多...

  • awk和sed指令入门

    sed偏向于编译文档,awk偏向与分析文本 sed使用方式 增加 sed -i "2a line 3 " test...

  • sed使用

    1.sed为什么叫sed sed是stream editor的缩写,中文称之为 流编辑器。sed命令是一个面向行处...

  • sed使用

    94 sed(上) sed工具 sed -n '/root/'p 匹配字符串root sed -n '2'p ...

网友评论

      本文标题:2019-04-18grep,sed使用

      本文链接:https://www.haomeiwen.com/subject/zddtgqtx.html