sed用法詳解,sed用法及實例

 2023-11-19 阅读 28 评论 0

摘要:1.? ?? ? 打印:p [root@TestAs4 chap04]# cat datafile? ?? ?? ?? ?? ?原文件 northwest? ?? ? NW? ?? ?Charles Main? ?? ?? ?? ?3.0? ???.98? ???3? ?? ? 34 western? ?? ?? ?WE? ?? ?Sharon Gray? ?? ?? ?? ? 5.3? ???.97? ???5? ?? ? 23 southwest? ?? ? SW? ?
1.? ?? ? 打印:p
[root@TestAs4 chap04]# cat datafile? ?? ?? ?? ?? ?原文件
northwest? ?? ? NW? ?? ?Charles Main? ?? ?? ?? ?3.0? ???.98? ???3? ?? ? 34
western? ?? ?? ?WE? ?? ?Sharon Gray? ?? ?? ?? ? 5.3? ???.97? ???5? ?? ? 23
southwest? ?? ? SW? ?? ?Lewis Dalsass? ?? ?? ???2.7? ???.8? ?? ?2? ?? ? 18
southern? ?? ???SO? ?? ?Suan Chin? ?? ?? ?? ?? ?5.1? ???.95? ???4? ?? ? 15
southeast? ?? ? SE? ?? ?Patricia Hemenway? ?? ? 4.0? ???.7? ?? ?4? ?? ? 17
eastern? ?? ?? ?EA? ?? ?TB Savage? ?? ?? ?? ?? ?4.4? ???.84? ???5? ?? ? 20
northeast? ?? ? NE? ?? ?AM Main Jr.? ?? ?? ?? ? 5.1? ???.94? ???3? ?? ? 13
north? ?? ?? ???NO? ?? ?Margot Weber? ?? ?? ?? ?4.5? ???.89? ???5? ?? ???9
central? ?? ?? ?CT? ?? ?Ann Stephens? ?? ?? ?? ?5.7? ???.94? ???5? ?? ? 13

[root@TestAs4 chap04]# sed??-n '/north/p' datafile? ?取消默認輸出 只打印包含模板的行
northwest? ?? ? NW? ?? ?Charles Main? ?? ?? ?? ?3.0? ???.98? ???3? ?? ? 34
northeast? ?? ? NE? ?? ?AM Main Jr.? ?? ?? ?? ? 5.1? ???.94? ???3? ?? ? 13
north? ?? ?? ???NO? ?? ?Margot Weber? ?? ?? ?? ?4.5? ???.89? ???5? ?? ???9

[root@TestAs4 chap04]# sed '/north/p' datafile? ?? ? 打印包含模板的行及打印默認輸出
northwest? ?? ? NW? ?? ?Charles Main? ?? ?? ?? ?3.0? ???.98? ???3? ?? ? 34
northwest? ?? ? NW? ?? ?Charles Main? ?? ?? ?? ?3.0? ???.98? ???3? ?? ? 34
western? ?? ?? ?WE? ?? ?Sharon Gray? ?? ?? ?? ? 5.3? ???.97? ???5? ?? ? 23
southwest? ?? ? SW? ?? ?Lewis Dalsass? ?? ?? ???2.7? ???.8? ?? ?2? ?? ? 18
southern? ?? ???SO? ?? ?Suan Chin? ?? ?? ?? ?? ?5.1? ???.95? ???4? ?? ? 15
southeast? ?? ? SE? ?? ?Patricia Hemenway? ?? ? 4.0? ???.7? ?? ?4? ?? ? 17
eastern? ?? ?? ?EA? ?? ?TB Savage? ?? ?? ?? ?? ?4.4? ???.84? ???5? ?? ? 20
northeast? ?? ? NE? ?? ?AM Main Jr.? ?? ?? ?? ? 5.1? ???.94? ???3? ?? ? 13
northeast? ?? ? NE? ?? ?AM Main Jr.? ?? ?? ?? ? 5.1? ???.94? ???3? ?? ? 13
north? ?? ?? ???NO? ?? ?Margot Weber? ?? ?? ?? ?4.5? ???.89? ???5? ?? ???9
north? ?? ?? ???NO? ?? ?Margot Weber? ?? ?? ?? ?4.5? ???.89? ???5? ?? ???9
central? ?? ?? ?CT? ?? ?Ann Stephens? ?? ?? ?? ?5.7? ???.94? ???5? ?? ? 13

2.? ?? ? 刪除:d
? ?[root@TestAs4 chap04]# sed '3d'??datafile? ?? ?? ?? ?刪除第三行
northwest? ?? ? NW? ?? ?Charles Main? ?? ?? ?? ?3.0? ???.98? ???3? ?? ? 34
western? ?? ?? ?WE? ?? ?Sharon Gray? ?? ?? ?? ? 5.3? ???.97? ???5? ?? ? 23
southern? ?? ???SO? ?? ?Suan Chin? ?? ?? ?? ?? ?5.1? ???.95? ???4? ?? ? 15
southeast? ?? ? SE? ?? ?Patricia Hemenway? ?? ? 4.0? ???.7? ?? ?4? ?? ? 17
eastern? ?? ?? ?EA? ?? ?TB Savage? ?? ?? ?? ?? ?4.4? ???.84? ???5? ?? ? 20
northeast? ?? ? NE? ?? ?AM Main Jr.? ?? ?? ?? ? 5.1? ???.94? ???3? ?? ? 13
north? ?? ?? ???NO? ?? ?Margot Weber? ?? ?? ?? ?4.5? ???.89? ???5? ?? ???9
central? ?? ?? ?CT? ?? ?Ann Stephens? ?? ?? ?? ?5.7? ???.94? ???5? ?? ? 13

[root@TestAs4 chap04]# sed '3,$d'??datafile? ?? ?? ? 刪除第三行到最后的所有行
northwest? ?? ? NW? ?? ?Charles Main? ?? ?? ?? ?3.0? ???.98? ???3? ?? ? 34
western? ?? ?? ?WE? ?? ?Sharon Gray? ?? ?? ?? ? 5.3? ???.97? ???5? ?? ? 23

[root@TestAs4 chap04]# sed '/north/d' datafile? ?? ???刪除所有包含模板north的行
western? ?? ?? ?WE? ?? ?Sharon Gray? ?? ?? ?? ? 5.3? ???.97? ???5? ?? ? 23
southwest? ?? ? SW? ?? ?Lewis Dalsass? ?? ?? ???2.7? ???.8? ?? ?2? ?? ? 18
southern? ?? ???SO? ?? ?Suan Chin? ?? ?? ?? ?? ?5.1? ???.95? ???4? ?? ? 15
southeast? ?? ? SE? ?? ?Patricia Hemenway? ?? ? 4.0? ???.7? ?? ?4? ?? ? 17
eastern? ?? ?? ?EA? ?? ?TB Savage? ?? ?? ?? ?? ?4.4? ???.84? ???5? ?? ? 20
central? ?? ?? ?CT? ?? ?Ann Stephens? ?? ?? ?? ?5.7? ???.94? ???5? ?? ? 13

3.? ?? ? 選定行的范圍:逗號
? ? [root@TestAs4 chap04]# sed -n '/west/,/east/p' datafile ? ? 所有在模板west和east所確定的行都被打印?
northwest? ?? ? NW? ?? ?Charles Main? ?? ?? ?? ?3.0? ???.98? ???3? ?? ? 34
western? ?? ?? ?WE? ?? ?Sharon Gray? ?? ?? ?? ? 5.3? ???.97? ???5? ?? ? 23
southwest? ?? ? SW? ?? ?Lewis Dalsass? ?? ?? ???2.7? ???.8? ?? ?2? ?? ? 18
southern? ?? ???SO? ?? ?Suan Chin? ?? ?? ?? ?? ?5.1? ???.95? ???4? ?? ? 15
southeast? ?? ? SE? ?? ?Patricia Hemenway? ?? ? 4.0? ???.7? ?? ?4? ?? ? 17


[root@TestAs4 chap04]# sed -n '1,5'p datafile? ?? ?? ???打印第一、五行的內容
northwest? ?? ? NW? ?? ?Charles Main? ?? ?? ?? ?3.0? ???.98? ???3? ?? ? 34
western? ?? ?? ?WE? ?? ?Sharon Gray? ?? ?? ?? ? 5.3? ???.97? ???5? ?? ? 23
southwest? ?? ? SW? ?? ?Lewis Dalsass? ?? ?? ???2.7? ???.8? ?? ?2? ?? ? 18
southern? ?? ???SO? ?? ?Suan Chin? ?? ?? ?? ?? ?5.1? ???.95? ???4? ?? ? 15
southeast? ?? ? SE? ?? ?Patricia Hemenway? ?? ? 4.0? ???.7? ?? ?4? ?? ? 17

[root@TestAs4 chap04]# sed??'/west/,/east/s/$/**?VACA**/' datafile? ?對于east和west之間的行,末尾用**?VACA**替換
northwest? ?? ? NW? ?? ?Charles Main? ?? ?? ?? ?3.0? ???.98? ???3? ?? ? 34**?VACA**
western? ?? ?? ?WE? ?? ?Sharon Gray? ?? ?? ?? ? 5.3? ???.97? ???5? ?? ? 23**?VACA**
southwest? ?? ? SW? ?? ?Lewis Dalsass? ?? ?? ???2.7? ???.8? ?? ?2? ?? ? 18**?VACA**
southern? ?? ???SO? ?? ?Suan Chin? ?? ?? ?? ?? ?5.1? ???.95? ???4? ?? ? 15**?VACA**
southeast? ?? ? SE? ?? ?Patricia Hemenway? ?? ? 4.0? ???.7? ?? ?4? ?? ? 17**?VACA**
eastern? ?? ?? ?EA? ?? ?TB Savage? ?? ?? ?? ?? ?4.4? ???.84? ???5? ?? ? 20
northeast? ?? ? NE? ?? ?AM Main Jr.? ?? ?? ?? ? 5.1? ???.94? ???3? ?? ? 13
north? ?? ?? ???NO? ?? ?Margot Weber? ?? ?? ?? ?4.5? ???.89? ???5? ?? ???9
central? ?? ?? ?CT? ?? ?Ann Stephens? ?? ?? ?? ?5.7? ???.94? ???5? ?? ? 13

[root@TestAs4 chap04]# sed??-n '/west/,/south/p' datafile? ?? ?? ?? ?? ???
northwest? ?? ? NW? ?? ?Charles Main? ?? ?? ?? ?3.0? ???.98? ???3? ?? ? 34
western? ?? ?? ?WE? ?? ?Sharon Gray? ?? ?? ?? ? 5.3? ???.97? ???5? ?? ? 23
southwest? ?? ? SW? ?? ?Lewis Dalsass? ?? ?? ???2.7? ???.8? ?? ?2? ?? ? 18
4.多點編輯:e命令
[root@TestAs4 chap04]# sed -e '1,3d' -e 's/Hemenway/Jones/' datafile? ? 刪除1到3行,用Hemenway替換Jones
southern? ?? ???SO? ?? ?Suan Chin? ?? ?? ?? ?? ?5.1? ???.95? ???4? ?? ? 15
southeast? ?? ? SE? ?? ?Patricia Jones??4.0? ???.7? ?? ?4? ?? ? 17
eastern? ?? ?? ?EA? ?? ?TB Savage? ?? ?? ?? ?? ?4.4? ???.84? ???5? ?? ? 20
northeast? ?? ? NE? ?? ?AM Main Jr.? ?? ?? ?? ? 5.1? ???.94? ???3? ?? ? 13
north? ?? ?? ???NO? ?? ?Margot Weber? ?? ?? ?? ?4.5? ???.89? ???5? ?? ???9
central? ?? ?? ?CT? ?? ?Ann Stephens? ?? ?? ?? ?5.7? ???.94? ???5? ?? ? 13


5. 從文件讀入:r 命令
[root@TestAs4 chap04]# cat newfile?
? ?? ???nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
? ?? ???| ***SUAN HAS LEFT THE COMPANY*** |
? ?? ???|_________________________________|


[root@TestAs4 chap04]# sed??'/Suan/r newfile'??datafile? ?? ? 把newfile文件內容放到Suan行的下面
northwest? ?? ? NW? ?? ?Charles Main? ?? ?? ?? ?3.0? ???.98? ???3? ?? ? 34
western? ?? ?? ?WE? ?? ?Sharon Gray? ?? ?? ?? ? 5.3? ???.97? ???5? ?? ? 23
southwest? ?? ? SW? ?? ?Lewis Dalsass? ?? ?? ???2.7? ???.8? ?? ?2? ?? ? 18
southern? ?? ???SO? ?? ?Suan Chin? ?? ?? ?? ?? ?5.1? ???.95? ???4? ?? ? 15
? ?? ???nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
? ?? ???| ***SUAN HAS LEFT THE COMPANY*** |
? ?? ???|_________________________________|
southeast? ?? ? SE? ?? ?Patricia Hemenway? ?? ? 4.0? ???.7? ?? ?4? ?? ? 17
eastern? ?? ?? ?EA? ?? ?TB Savage? ?? ?? ?? ?? ?4.4? ???.84? ???5? ?? ? 20
northeast? ?? ? NE? ?? ?AM Main Jr.? ?? ?? ?? ? 5.1? ???.94? ???3? ?? ? 13
north? ?? ?? ???NO? ?? ?Margot Weber? ?? ?? ?? ?4.5? ???.89? ???5? ?? ???9
central? ?? ?? ?CT? ?? ?Ann Stephens? ?? ?? ?? ?5.7? ???.94? ???5? ?? ? 13

注:如果不止一個Suan 則newfile的內容就將顯示在所有匹配行的下面

6. 寫入文件:w命令
[root@TestAs4 chap04]# sed??-n '/north/w??newfile2'??datafile? ?命令w表示把所有包含north的行寫入到newfile2

[root@TestAs4 chap04]# cat newfile2
northwest? ?? ? NW? ?? ?Charles Main? ?? ?? ?? ?3.0? ???.98? ???3? ?? ? 34
northeast? ?? ? NE? ?? ?AM Main Jr.? ?? ?? ?? ? 5.1? ???.94? ???3? ?? ? 13
north? ?? ?? ???NO? ?? ?Margot Weber? ?? ?? ?? ?4.5? ???.89? ???5? ?? ???9




7. 追加:a 命令?
[root@TestAs4 chap04]#??sed '/^north/a ---->THE NORTH SALES DISTRICT HAS MOVED? ??
northwest? ?? ? NW? ?? ?Charles Main? ?? ?? ?? ?3.0? ???.98? ???3? ?? ? 34
---->THE NORTH SALES DISTRICT HAS MOVED
western? ?? ?? ?WE? ?? ?Sharon Gray? ?? ?? ?? ? 5.3? ???.97? ???5? ?? ? 23
southwest? ?? ? SW? ?? ?Lewis Dalsass? ?? ?? ???2.7? ???.8? ?? ?2? ?? ? 18
southern? ?? ???SO? ?? ?Suan Chin? ?? ?? ?? ?? ?5.1? ???.95? ???4? ?? ? 15
southeast? ?? ? SE? ?? ?Patricia Hemenway? ?? ? 4.0? ???.7? ?? ?4? ?? ? 17
eastern? ?? ?? ?EA? ?? ?TB Savage? ?? ?? ?? ?? ?4.4? ???.84? ???5? ?? ? 20
northeast? ?? ? NE? ?? ?AM Main Jr.? ?? ?? ?? ? 5.1? ???.94? ???3? ?? ? 13
---->THE NORTH SALES DISTRICT HAS MOVED
north? ?? ?? ???NO? ?? ?Margot Weber? ?? ?? ?? ?4.5? ???.89? ???5? ?? ???9
---->THE NORTH SALES DISTRICT HAS MOVED
central? ?? ?? ?CT? ?? ?Ann Stephens? ?? ?? ?? ?5.7? ???.94? ???5? ?? ? 13
注: 在出現首個單詞是north的后一行追加---->THE NORTH SALES DISTRICT HAS MOVED行

8. 插入: i 命令
[root@TestAs4 chap04]# sed '/eastern/i/
> NEW ENGLAND REGION/
> -------------------------------------' datafile
northwest? ?? ? NW? ?? ?Charles Main? ?? ?? ?? ?3.0? ???.98? ???3? ?? ? 34
western? ?? ?? ?WE? ?? ?Sharon Gray? ?? ?? ?? ? 5.3? ???.97? ???5? ?? ? 23
southwest? ?? ? SW? ?? ?Lewis Dalsass? ?? ?? ???2.7? ???.8? ?? ?2? ?? ? 18
southern? ?? ???SO? ?? ?Suan Chin? ?? ?? ?? ?? ?5.1? ???.95? ???4? ?? ? 15
southeast? ?? ? SE? ?? ?Patricia Hemenway? ?? ? 4.0? ???.7? ?? ?4? ?? ? 17
NEW ENGLAND REGION
-------------------------------------
eastern? ?? ?? ?EA? ?? ?TB Savage? ?? ?? ?? ?? ?4.4? ???.84? ???5? ?? ? 20
northeast? ?? ? NE? ?? ?AM Main Jr.? ?? ?? ?? ? 5.1? ???.94? ???3? ?? ? 13
north? ?? ?? ???NO? ?? ?Margot Weber? ?? ?? ?? ?4.5? ???.89? ???5? ?? ???9
central? ?? ?? ?CT? ?? ?Ann Stephens? ?? ?? ?? ?5.7? ???.94? ???5? ?? ? 13

注:如果模板eastern被匹配,i命令把反斜杠后面的文本插入到包含eastern的行的前面


9. 替換:s 命令

[root@TestAs4 oracle]# pwd
/u01/app/oracle
[root@TestAs4 oracle]# pwd??| sed??'s///[^//]*$/old/'? ?? ?把“/ u01/app/oracle”的 “/oracle”替換為old?
/u01/appold
[root@TestAs4 chap04]# sed -n 's/Hemenway/Jones/pg' datafile? ?? ?所有的Hemenway行被Jones 替換并打印
southeast? ?? ? SE? ?? ?Patricia Jones??4.0? ???.7? ?? ?4? ?? ? 17

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/4/183640.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息