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

首頁 > 系統 > Linux > 正文

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

2019-10-26 18:35:14
字體:
來源:轉載
供稿:網友
sed (stream editor)

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

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

sed工作原理:

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

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

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

sed命令格式

sed的命令格式如下:

sed [-Options] [‘Commands'] filename

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

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

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

sed –n ‘1,3p' students

這個命令將文件students中的第1到3行打印到屏幕。注意,地址范圍和sed命令之間沒有空格,如果加入空格,sed也會將其忽略。參數-n用來取消默認輸出。默認情況下,sed每讀入一行到模式空間,無論是否對其進行處理,在讀入下一行之前多要將模式空間中的內容輸出到屏幕上。參數-n可以用來取消這種默認的輸出,只有當用戶用命令p時才將指定的行輸出到屏幕。如果沒有用參數-n而又對指定行執行了p命令,那么這些行將會被打印兩次。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 册亨县| 古蔺县| 白玉县| 天长市| 岳普湖县| 共和县| 兴宁市| 临海市| 永年县| 深泽县| 铜梁县| 郸城县| 宜章县| 大竹县| 平湖市| 虎林市| 东乡| 嵩明县| 鲜城| 新干县| 邢台市| 图们市| 永济市| 阜城县| 陕西省| 陈巴尔虎旗| 察隅县| 江川县| 阿勒泰市| 威信县| 韶关市| 当雄县| 屯门区| 南投市| 高邮市| 工布江达县| 兴化市| 永安市| 许昌县| 息烽县| 宝鸡市|