国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Unix > 正文

Unix sed編輯器如何替換文件內(nèi)容

2024-09-08 18:01:04
字體:
供稿:網(wǎng)友

上一節(jié)我們講了unix sed編輯器的文件修改,現(xiàn)在我們來講講 Unix sed如何替換文件內(nèi)容,文件修改編輯在操作系統(tǒng)中使用廣范,希望大家能好好掌握.

本節(jié)將使用sample1.txt文件作為示例,文件內(nèi)容如下,都是些水果..:

  1. apple 
  2. orange 
  3. banana 
  4. pappaya 

1.向每一行的開頭添加內(nèi)容,這里我們添加“Fruit:”

  1. $ sed ‘s/^/Fruit: /‘ sample1.txt 
  2. Fruit: apple 
  3. Fruit: orange 
  4. Fruit: banana 
  5. Fruit: pappaya 

解析:s代表substitution,也就是替換,s之后是要替換/匹配的內(nèi)容,斜線/用來分隔s以及要替換的原始內(nèi)容還有要替換的最終內(nèi)容,而’^’符號是說一個正則,用來匹配每一行的開頭,匹配成功后在開頭加上’Fruit:’.

2.向每一行的行尾添加內(nèi)容:

  1. $ sed ‘s/$/ Fruit/‘ sample1.txt 
  2. apple Fruit 
  3. orange Fruit 
  4. banana Fruit 
  5. pappaya Fruit 

注意:這里的$和上一節(jié)的$符號表示的意義不同,這里則是表示行尾.

3.如何替換指定的字符,這里將小寫a替換成大寫A.

  1. $ sed ‘s/a/A/‘ sample1.txt 
  2. Apple 
  3. orAnge 
  4. bAnana 
  5. pAppaya 

注意:僅僅將每一行的第一個a替換了,不是所有,本例表示替換單個字符,你可以替換一個單詞都是可以的.

4.如何替換行內(nèi)所有的字符,用A替換a.

  1. $ sed ‘s/a/A/g’ sample1.txt 
  2. Apple 
  3. orAnge 
  4. bAnAnA 
  5. pAppAyA 

注意:只是加了一個g選項,g為global的簡寫,就是全局,全部的意思.

5.如何替換第二次出現(xiàn)的a?

  1. $ sed ‘s/a/A/2’ sample1.txt 
  2. apple 
  3. orange 
  4. banAna 
  5. pappAya 

不使用g,而是使用數(shù)字來表示行內(nèi)第幾次出現(xiàn)的a,結(jié)果如上.

6.如何替換第二次之后的所有a呢?

  1. $ sed ‘s/a/A/2g’ sample1.txt 
  2. apple 
  3. orange 
  4. banAnA 
  5. pappAyA 

很好理解對吧.

7.如果只想替換第三行的a呢?

  1. $ sed ‘3s/a/A/g’ sample1.txt 
  2. apple 
  3. orange 
  4. bAnAnA 
  5. pappaya 

回想一下第一節(jié),在執(zhí)行命令之前,會判斷當(dāng)前address是否滿足條件,3就是地址.

8.想替換一個范圍行內(nèi)的數(shù)據(jù)呢.

  1. $ sed ‘1,3s/a/A/g’ sample1.txt 
  2. Apple 
  3. orAnge 
  4. bAnAnA 
  5. pappaya 

逗號隔開,即可.

9.如何替換整行呢?比如用apple is a Fruit替換apple

  1. $ sed ‘s/./& is a Fruit/‘ sample1.txt 
  2. apple is a Fruit 
  3. orange is a Fruit 
  4. banana is a Fruit 
  5. pappaya is a Fruit 

這里‘&’符號標(biāo)識了模式匹配到的內(nèi)容,而.匹配了正行,.表示任意字符,*表示一個或多個,也就是匹配了整行,&因此就是整行內(nèi)容,用來重命名一組文件的時候非常有用.

10.如何進(jìn)行多個替換,比如用A替換a,用P替換p

  1. $ sed ‘s/a/A/g; s/p/P/g’ sample1.txt 
  2. APPle 
  3. orAnge 
  4. bAnAnA 
  5. PAPPAyA --Vevb.com 

也就是用分號分開即可,或者也可以通過-e參數(shù)來做.

  1. $ sed -e ‘s/a/A/g’ -e ‘s/p/P/g’ sample1.txt 
  2. APPle 
  3. orAnge 
  4. bAnAnA 
  5. PAPPAyA 

-e 選項就是當(dāng)需要替換多個的時候來用的.

另外,要是替換的太多,也可以通過右斜線來分成多行.

  1. $ sed -e ‘s/a/A/g’ > -e ‘s/p/P/g’ sample1.txt 
  2. APPle 
  3. orAnge 
  4. bAnAnA 
  5. PAPPAyA 

相信通過本文實例分析,平時的文件內(nèi)容替換就很簡單了.

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 罗江县| 桂林市| 临潭县| 河东区| 南京市| 慈溪市| 延边| 宣威市| 北宁市| 彭阳县| 南通市| 志丹县| 伊吾县| 恩施市| 红安县| 福建省| 长治县| 荥阳市| 清水河县| 调兵山市| 加查县| 当涂县| 全州县| 都兰县| 丰台区| 辽宁省| 叶城县| 洪雅县| 静宁县| 呼图壁县| 广丰县| 黔东| 朝阳市| 汽车| 淳化县| 晋城| 乌兰浩特市| 吉木乃县| 临猗县| 新蔡县| 丰都县|