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

首頁 > 開發(fā) > Linux Shell > 正文

SED單行腳本快速參考(流編輯器)第1/2頁

2020-07-27 19:26:31
字體:
供稿:網(wǎng)友
sed (stream editor)

功能說明:利用script來處理文本文件。
語法:sed [-hnV][-e<script>][-f<script文件>][文本文件]
補(bǔ)充說明:sed可依照script的指令,來處理、編輯文本文件。
參數(shù):
-e<script>或--expression=<script> 以選項(xiàng)中指定的script來處理輸入的文本文件。
-f<script文件>或--file=<script文件> 以選項(xiàng)中指定的script文件來處理輸入的文本文件。
-h或--help 顯示幫助。
-n或--quiet或--silent 僅顯示script處理后的結(jié)果。

-V或--version 顯示版本信息。

sed工作原理:

sed是一個(gè)非交互式的流編輯器。所謂非交互式,是指使用sed只能在命令行下輸入編輯命令來編輯文本,然后在屏幕上查看輸出;而所謂流編輯器,是指sed每次只從文件(或輸入)讀入一行,然后對該行進(jìn)行指定的處理,并將結(jié)果輸出到屏幕(除非取消了屏幕輸出又沒有顯式地使用打印命令),接著讀入下一行。整個(gè)文件像流水一樣被逐行處理然后逐行輸出。

 
下面我們看一下sed的工作過程。
 
sed不是在原輸入上直接進(jìn)行處理的,而是先將讀入的行放到緩沖區(qū)中,對緩沖區(qū)里的內(nèi)容進(jìn)行處理,處理完畢后也不會寫回原文件(除非用shell的輸出重定向來保存結(jié)果),而是直接輸出到屏幕上。sed運(yùn)行過程中維護(hù)著兩個(gè)緩沖區(qū),一個(gè)是活動的“模式空間(pattern space)”,另一個(gè)是起輔助作用的“暫存緩沖區(qū)(holding space)”。一般情況下,每當(dāng)運(yùn)行sedsed首先把第一行裝入模式空間,進(jìn)行處理后輸出到屏幕,然后將第二行裝入模式空間替換掉模式空間里原來的內(nèi)容,然后進(jìn)行處理,以此類推。
 

一般情況下暫存緩沖區(qū)是用不到的,但有特殊的命令可以在模式空間與暫存緩沖區(qū)之間交換數(shù)據(jù),后文將有介紹。由于sed對文本的所有操作都是在緩沖區(qū)里進(jìn)行的,所以不會對原文件造成任何破壞。

sed命令格式

sed的命令格式如下:

sed [-Options] [‘Commands'] filename

其中,Command是一個(gè)sed命令,sed命令一定要被包含在一對單引號中,以免被shell解釋,其格式如下:

[address-range][sed-command]或
[Pattern-to-match][sed-command]

address-range是指要處理的行的范圍,又叫地址范圍;pattern-to-match是一個(gè)要匹配的模式,是一個(gè)正則表達(dá)式,sed-command是一個(gè)sed命令,用來對指定的行進(jìn)行處理。下面是一個(gè)簡單的例子:

sed

主站蜘蛛池模板: 广宁县| 邻水| 忻州市| 灌南县| 玉田县| 新邵县| 汽车| 敦化市| 襄垣县| 车致| 炉霍县| 个旧市| 岐山县| 南丹县| 岳西县| 漾濞| 资中县| 海盐县| 河曲县| 信阳市| 承德市| 黄大仙区| 玉龙| 介休市| 岱山县| 乐业县| 乌恰县| 宁河县| 汾阳市| 二连浩特市| 阿勒泰市| 容城县| 景德镇市| 尉氏县| 夏邑县| 南投市| 德清县| 长丰县| 当阳市| 思南县| 哈巴河县|