麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 系統 > Linux > 正文

sed模式空間和暫存空間的區別

2019-10-26 18:35:26
字體:
來源:轉載
供稿:網友

sed編輯器逐行處理文件,并將輸出結果打印到屏幕上。sed命令將當前處理的行讀入模式空間(pattern space)進行處理,sed在該行上執行完所有命令后就將處理好的行打印到屏幕上(除非之前的命令刪除了該行),sed處理完一行就將其從模式空間中刪除,然后將下一行讀入模式空間,進行處理、顯示。處理完文件的最后一行,sed便結束運行。sed在臨時緩沖區(模式空間)對文件進行處理,所以不會修改原文件,除非顯示指明-i選項。

與模式空間和暫存空間(hold space)相關的命令:

n 輸出模式空間行,讀取下一行替換當前模式空間的行,執行下一條處理命令而非第一條命令。
N 讀入下一行,追加到模式空間行后面,此時模式空間有兩行。
h 把模式空間里的行拷貝到暫存空間。
H 把模式空間里的行追加到暫存空間。
g 用暫存空間的內容替換模式空間的行。
G 把暫存空間的內容追加到模式空間的行后。
x 將暫存空間的內容于模式空間里的當前行互換。
! 對所選行以外的所有行應用命令。

注意:暫存空間里默認存儲一個空行。

下面是一些例子:

cat datafile
111111111111 aaa
222222222222 bbb
333333333333 ccc
444444444444 ddd
555555555555 eee
666666666666 fff

在每行后面加一空行:

sed 'G' datafile
111111111111 aaa

222222222222 bbb

333333333333 ccc

444444444444 ddd

555555555555 eee

666666666666 fff

aaa行被讀入模式空間,執行G,在此行后面追加一個空行,然后打印模式空間,其他行同理。

在匹配行后加一空行:

sed '/ccc/G' datafile
111111111111 aaa
222222222222 bbb
333333333333 ccc

444444444444 ddd
555555555555 eee
666666666666 fff

在匹配行前加入一個空行:

sed '/ccc/{x;p;x;}' datafile
111111111111 aaa
222222222222 bbb

333333333333 ccc
444444444444 ddd
555555555555 eee
666666666666 fff

命令執行前后暫存空間和模式空間的變化情況:

命令     暫存空間                                         模式空間
x           執行前:null 執行后:ccc/n              執行前:ccc/n 執行后:null
p          執行前:null 執行后:ccc/n              執行前:ccc/n 執行后:null 輸出一個空行
x          執行前:ccc/n 執行后:null              執行前:null 執行后:ccc/n 輸出ccc所在行

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产毛片毛片毛片 | 最新在线中文字幕 | 男女羞羞视频 | 国产成人高清成人av片在线看 | 蜜桃视频在线免费播放 | 国产资源在线看 | 欧美日韩亚洲不卡 | 少妇一级淫片免费放播放 | 成人精品一区二区三区中文字幕 | 欧美精品18 | 欧洲黄视频 | 日本一区二区不卡高清 | 久久人人人| 精品亚洲午夜久久久久91 | 午夜视频在线观看免费视频 | 欧美成人黄色片 | 国产精品午夜未成人免费观看 | 黄色av片三级三级三级免费看 | 久久精品性视频 | 亚洲国产午夜精品 | 国产成年人视频 | 黄色网址在线播放 | 看片一区 | 最新中文字幕日本 | 秋霞a级毛片在线看 | 一级黄片毛片免费看 | 精品成人网 | 国产午夜精品在线 | xxxx欧美视频 | 成人免费午夜视频 | 一区二区三区日韩在线 | 欧美一级黄带 | 康妮卡特欧美精品一区 | 黄色影院网站 | 久久久久久久久久亚洲 | 九九热精品视频在线 | av在线免费看片 | 欧美国产一区二区三区 | 国产日韩免费观看 | 欧洲成人综合网 | 国产精品国产三级国产在线观看 |