完整格式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