完整格式linux
sed | -n | '3s#oldboy#oldgirl#gp' | filename |
---|---|---|---|
sed命令 | sed参数 | 3表示第3行 s表示替换 gp表示标记(flag) | filename |
简单格式正则表达式
这里记住条件命令便可
条件就是你要找哪1行,能够是行号或范围等等.
命令就是知足条件后,要作什么,能够是显示(p),删除(d),替换(s),增长(c a i)等等swift
找谁 | 干啥 |
---|---|
条件 | 命令 |
参数 | 含义 |
---|---|
-n | 取消默认输出 |
-i | 修改文件内容 |
-i.bak | 先备份文件为oldboy.txt.bak 而后修改文件内容 |
-r | 支持扩展正则 |
-f | 指定sed脚本 |
1.模拟的文件bash
cat >~/lidao.txt<<EOF 101,oldboy,CEO 102,zhangyao,CTO 103,Alex,COO 104,yy,CFO 105,feixue,CIO 110,lidao,COCO EOF
2.根据行号显示某1行app
[root@oldboyedu59 ~]# sed -n '5p' lidao.txt 105,feixue,CIO
3.根据行号范围进行显示ide
[root@oldboyedu59 ~]# sed -n '1,5p' lidao.txt 101,oldboy,CEO 102,zhangyao,CTO 103,Alex,COO 104,yy,CFO 105,feixue,CIO
4.进行过滤(相似grep或egrep)测试
[root@oldboyedu59 /oldboy]# sed -n '/oldboy/p' lidao.txt 101,oldboy,CEO [root@oldboyedu59 /oldboy]# sed -n '/[a-z]/p' lidao.txt 101,oldboy,CEO 102,zhangyao,CTO 103,Alex,COO 104,yy,CFO 105,feixue,CIO 110,lidao,COCO
找出文件中包含oldboy或yy的行code
[root@oldboyedu59 /oldboy]# sed -nr '/oldboy|yy/p' lidao.txt 101,oldboy,CEO 104,yy,CFO
5.经过正则表达式进行范围过滤blog
[root@oldboyedu59 /oldboy]# sed -n '/102/,/105/p' lidao.txt 102,zhangyao,CTO 103,Alex,COO 104,yy,CFO 105,feixue,CIO
命令 | 含义 |
---|---|
c | replace 清空这行内容而后写入新内容 |
a | append 在这行下面追加内容 |
i | insert 在这行上面插入内容 |
[root@oldboyedu59 /oldboy]# cat lidao.txt 101,oldboy,CEO 102,zhangyao,CTO 102,zhangyao,CTO 103,Alex,COO 104,yy,CFO 105,feixue,CIO 105,feixue,CIO 110,lidao,COCO [root@oldboyedu59 /oldboy]# sed '3a119,xiaohong,UFO' lidao.txt 101,oldboy,CEO 102,zhangyao,CTO 102,zhangyao,CTO 119,xiaohong,UFO 103,Alex,COO 104,yy,CFO 105,feixue,CIO 105,feixue,CIO 110,lidao,COCO [root@oldboyedu59 /oldboy]# cat lidao.txt 101,oldboy,CEO 102,zhangyao,CTO 102,zhangyao,CTO 119,xiaohong,UFO 103,Alex,COO 104,yy,CFO 105,feixue,CIO 105,feixue,CIO 110,lidao,COCO [root@oldboyedu59 /oldboy]# sed '3i12306,lidao,HO' lidao.txt 101,oldboy,CEO 102,zhangyao,CTO 12306,lidao,HO 102,zhangyao,CTO 119,xiaohong,UFO 103,Alex,COO 104,yy,CFO 105,feixue,CIO 105,feixue,CIO 110,lidao,COCO
1.测试文件it
I am oldboy teacher! I teach linux. I like badminton ball,billiard ball and chinese chess! my blog is http://oldboy.blog.51cto.com our size is http://blog.oldboyedu.com my qq is 1351441522 not 4900000448 my god,i am not oldbey,but OLDBOY!
2.删除 /oldboy/oldboy.txt中的空行
sed '/^$/d' oldboy.txt sed -n '/^$/!p' oldboy.txt grep -v '^$' oldboy.txt awk 做为扩展 awk '/^$/' oldboy.txt awk '!/^$/' oldboy.txt