首頁>技術>

一.sed命令的格式

完整格式

sed -n '3s#oldboy#oldgirl#gp' filename

sed命令 sed引數 3表示第3行 s表示替換 gp表示標記(flag) filename

簡單格式

| 找誰 | 幹啥 |

| 條件 | 命令 |

二.sed命令常用引數

| 引數 | 含義 |

| -n | 取消預設輸出 |

| -i | 修改檔案內容 |

| -i.bak | 先備份檔案為oldboy.txt.bak 然後修改檔案內容 |

| -r | 支援擴充套件正則 |

| -f | 指定sed指令碼 |

三.sed核心功能之查詢(p)

1.模擬的檔案

cat >~/lidao.txt<<EOF101,oldboy,CEO102,zhangyao,CTO103,Alex,COO104,yy,CFO105,feixue,CIO110,lidao,COCOEOF

2.根據行號顯示某1行

[root@oldboyedu59 ~]# sed -n '5p' lidao.txt105,feixue,CIO

3.根據行號範圍進行顯示

[root@oldboyedu59 ~]# sed -n '1,5p' lidao.txt101,oldboy,CEO102,zhangyao,CTO103,Alex,COO104,yy,CFO105,feixue,CIO

4.進行過濾(類似grep或egrep)

[root@oldboyedu59 /oldboy]# sed -n '/oldboy/p' lidao.txt101,oldboy,CEO[root@oldboyedu59 /oldboy]# sed -n '/[a-z]/p' lidao.txt101,oldboy,CEO102,zhangyao,CTO103,Alex,COO104,yy,CFO105,feixue,CIO110,lidao,COCO

找出檔案中包含oldboy或yy的行

[root@oldboyedu59 /oldboy]# sed -nr '/oldboy|yy/p' lidao.txt101,oldboy,CEO104,yy,CFO

5.透過正則表示式進行範圍過濾

[root@oldboyedu59 /oldboy]# sed -n '/102/,/105/p' lidao.txt102,zhangyao,CTO103,Alex,COO104,yy,CFO105,feixue,CIO
四.sed核心功能之增加(c a i)

| 命令 | 含義 | | ---- | ---------------------------------- | | c | replace 清空這行內容然後寫入新內容 | | a | append 在這行下面追加內容 | | i | insert 在這行上面插入內容 |

[root@oldboyedu59 /oldboy]# cat  lidao.txt 101,oldboy,CEO102,zhangyao,CTO102,zhangyao,CTO103,Alex,COO104,yy,CFO105,feixue,CIO105,feixue,CIO110,lidao,COCO[root@oldboyedu59 /oldboy]# sed '3a119,xiaohong,UFO'  lidao.txt 101,oldboy,CEO102,zhangyao,CTO102,zhangyao,CTO119,xiaohong,UFO103,Alex,COO104,yy,CFO105,feixue,CIO105,feixue,CIO110,lidao,COCO[root@oldboyedu59 /oldboy]# cat lidao.txt 101,oldboy,CEO102,zhangyao,CTO102,zhangyao,CTO119,xiaohong,UFO103,Alex,COO104,yy,CFO105,feixue,CIO105,feixue,CIO110,lidao,COCO[root@oldboyedu59 /oldboy]# sed '3i12306,lidao,HO' lidao.txt101,oldboy,CEO102,zhangyao,CTO12306,lidao,HO102,zhangyao,CTO119,xiaohong,UFO103,Alex,COO104,yy,CFO105,feixue,CIO105,feixue,CIO110,lidao,COCO
I am oldboy teacher!I teach linux.I like badminton ball,billiard ball and chinese chess!my blog is http://oldboy.blog.51cto.comour size is http://blog.oldboyedu.commy qq is 1351441522not 4900000448my god,i am not oldbey,but OLDBOY!

2.刪除 /oldboy/oldboy.txt中的空行

sed '/^$/d' oldboy.txtsed -n '/^$/!p' oldboy.txtgrep -v '^$' oldboy.txtawk 作為擴充套件awk  '/^$/' oldboy.txtawk  '!/^$/' oldboy.txt

15
最新評論
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • 跟光磊學Java開發-Java異常機制