日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

通用線(xiàn)程--sed 實(shí)例,第2部分( 三 )


這種方法雖然可能不太方便,但總是管用 。一個(gè)地址的多個(gè)命令
有時(shí),可能要指定應(yīng)用到一個(gè)地址的多個(gè)命令 。這在執(zhí)行許多 "s///" 以變換源文件中的字和語(yǔ)法時(shí)特別方便 。要對(duì)一個(gè)地址執(zhí)行多個(gè)命令,可在文件中輸入 sed 命令,然后使用 "{ }" 字符將這些命令分組,如下所示:1,20{ s/[Ll]inux/GNU/Linux/g s/samba/Samba/g s/posix/POSIX/g }
上例將把三個(gè)替換命令應(yīng)用到第 1 行到第 20 行(包括這兩行) 。還可以使用規(guī)則表達(dá)式地址或者二者的組合:1,/^END/{ s/[Ll]inux/GNU/Linux/g s/samba/Samba/g s/posix/POSIX/g p }
該例將把 "{ }" 之間的所有命令應(yīng)用到從第 1 行開(kāi)始,到以字母 "END" 開(kāi)始的行結(jié)束(如果在源文件中沒(méi)發(fā)現(xiàn) "END",則到文件結(jié)束)的所有行 。附加、插入和更改行
既然在單獨(dú)的文件中編寫(xiě) sed 腳本,我們可以利用附加、插入和更改行命令 。這些命令將在當(dāng)前行之后插入一行,在當(dāng)前行之前插入一行,或者替換模式空間中的當(dāng)前行 。它們也可以用來(lái)將多行插入到輸出 。插入行命令用法如下:i This line will be inserted before each line
如果不為該命令指定地址,那么它將應(yīng)用到每一行,并產(chǎn)生如下的輸出:This line will be inserted before each line line 1 here
This line will be inserted before each line line 2 here
This line will be inserted before each line line 3 here
This line will be inserted before each line line 4 here
如果要在當(dāng)前行之前插入多行,可以通過(guò)在前一行之后附加一個(gè)反斜杠來(lái)添加附加行,如下所示:i insert this line and this one and this one and, uh, this one too.
附加命令的用法與之類(lèi)似,但是它將把一行或多行插入到模式空間中的當(dāng)前行之后 。其用法如下:a insert this line after each line. Thanks! :)
另一方面,“更改行”命令將實(shí)際替換模式空間中的當(dāng)前行,其用法如下:c You"re history, original line! Muhahaha!
因?yàn)楦郊?、插入和更改行命令需要在多行輸入,所以將把它們輸入到一個(gè)文本 sed 腳本中,然后通過(guò)使用 "-f" 選項(xiàng)告訴 sed 執(zhí)行它們 。使用其它方法將命令傳遞給 sed 會(huì)出現(xiàn)問(wèn)題 。【通用線(xiàn)程--sed 實(shí)例,第2部分】下一篇
在下一篇、也是本 sed 系列的最后一篇文章中,我將為您演示許多使用 sed 來(lái)完成不同類(lèi)型任務(wù)的極佳實(shí)例 。我將不僅為您顯示腳本做些什么,還顯示為什么那樣做 。完成之后,您將掌握更多有關(guān)如何在不同項(xiàng)目中使用 sed 的極佳知識(shí) 。到時(shí)候見(jiàn)!

推薦閱讀