日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

sed知识整理:模式空间

發(fā)布時間:2024/4/13 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 sed知识整理:模式空间 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

轉(zhuǎn)載自:

http://blog.csdn.net/wanglelelihuanhuan/article/details/51591809


sed之所以能以行為單位的編輯或修改文本,其原因在于它使用了兩個空間:一個是活動的“模式空間(pattern space)”,另一個是起輔助作用的“保持空間(hold space)這2個空間的使用。

模式空間:可以想成工程里面的流水線,數(shù)據(jù)之間在它上面進(jìn)行處理。
保持空間:可以想象成倉庫,我們在進(jìn)行數(shù)據(jù)處理的時候,作為數(shù)據(jù)的暫存區(qū)域。

正常情況下,如果不顯示使用某些高級命令,保持空間不會使用到!

sed在正常情況下,將處理的行讀入模式空間,腳本中的“sed command(sed命令)”就一條接著一條進(jìn)行處理,直到腳本執(zhí)行完畢。然后該行被輸出,模式被清空;接著,在重復(fù)執(zhí)行剛才的動作,文件中的新的一行被讀入,直到文件處理完畢。

?

一般情況下,數(shù)據(jù)的處理只使用模式空間(pattern space),按照如上的邏輯即可完成主要任務(wù)。但是某些時候,通過使用保持空間(hold space),還可以帶來意想不到的效果。

sed命令:
+ g:[address[,address]]g 將hold space中的內(nèi)容拷貝到pattern space中,原來pattern space里的內(nèi)容清除。

+ G:[address[,address]]G 將hold space中的內(nèi)容append到pattern space\n后。
+ h:[address[,address]]h 將pattern space中的內(nèi)容拷貝到hold space中,原來的hold space里的內(nèi)容被清除。
+ H:[address[,address]]H 將pattern space中的內(nèi)容append到hold space\n后。
+ d:[address[,address]]d 刪除pattern中的所有行,并讀入下一新行到pattern中。
+ D:[address[,address]]D 刪除multiline pattern中的第一行,不讀入下一行。
+ x:交換保持空間和模式空間的內(nèi)容。

?

1. 給每行結(jié)尾添加一行空行???????????????????????????????????????????????????????????????????????????????????????????????????

2.用sed模擬出tac的功能(倒序輸出)

1!G:第1行不執(zhí)行“G”命令,從第2行開始執(zhí)行。$!d:最后一行不刪除(保留最后1行)。

3.追加匹配行到文件結(jié)尾

-e :進(jìn)行多項編輯,即對輸入行應(yīng)用多條sed命令時使用

4.行列轉(zhuǎn)化

-n :取消默認(rèn)的輸出

H表示把pattern space 的內(nèi)容追加到hold space中去,H可以帶一個地址,這里用的是$,表示到文件的末尾,然后用x將之取到pattern space中,把\n替換成空格再打印即可。

5. 行列轉(zhuǎn)化,求1~100的求和


seq 100?==>豎排打印1...100個數(shù)字。

bc??? ==>交給bc計算

附:seq命令的語法

1)生成序列[1…LAST]
例:seq 5 表示序列為 1 2 3 4 5

2)生成序列[FIRST…LAST],步長為1

例:seq 2 5表示序列為? 2 3 4 5

3)生成序列[FIRST…LAST],步長為INCREMENT

例:seq 2 2 5表示序列為? 2 4?

6. 打印奇偶數(shù)行

附:awk打印奇偶行

方法一:

NR是行號,awk的內(nèi)建函數(shù),當(dāng)?shù)谝恍?#xff0c;NR==1時,對2取余,結(jié)果是1,在awk的執(zhí)行模式里,這個1就是pattern,為真,執(zhí)行默認(rèn)的{print},這個action操作。那么打印出該行,到第2行則余數(shù)是0,pattern為0,則為假,不會執(zhí)行默認(rèn)的{print},則不會輸出偶數(shù)行。就達(dá)到了只輸出奇數(shù)行的效果,反之則輸出偶數(shù)行了。

方法二:

?這行命令充分的利用了C語言中 ++i 與 i++ 的區(qū)別,i++ 中i的值自加一次后這個表達(dá)式的結(jié)果等于1,但此時i的值仍然為0,i的值在當(dāng)前表達(dá)式中不會改變,++i中i的值自加一次后,i的值是1。第一行時,因為對2取余的時候 i++ 自加一次后的值是1,但 i++ 是把i的自加前的值去對2取余的,0對2取余結(jié)果為0,條件為假,到第二行的時候i的值才是上次自加后的值為1,對2取余數(shù)為1,pattern為真,則輸出第2行,以此類推。++i 則是自加后i的值是1,所以輸出的奇數(shù)行。

方法三:

方法四:

awk里面有三個built-in function,分別是:and(a, b)按位與,or(a, b)按位或,xor(a, b)按位異或,當(dāng)FNR為1的時候,就是第一行,1的2進(jìn)制為0001,與0001按位與,得到結(jié)果是0001,0001的結(jié)果為真,就打印改行,當(dāng)FNR為2時二進(jìn)制表示為0010,那么又與0001相與,結(jié)果為0000,條件為假,則不打印。只有當(dāng)FNR為奇數(shù)時,二進(jìn)制的尾數(shù)為1,與0001相與結(jié)果才為真,否則結(jié)果都為假。即只輸出奇數(shù)行,非則輸出偶數(shù)行。

7.求1~100和

:a表示標(biāo)簽a,ba表示跳轉(zhuǎn)到a標(biāo)簽,$表示最后一行,!表示不做后續(xù)操作,所以,$!ba表示最后一行不用跳轉(zhuǎn)到a標(biāo)簽,結(jié)束此次操作。

超強干貨來襲 云風(fēng)專訪:近40年碼齡,通宵達(dá)旦的技術(shù)人生

總結(jié)

以上是生活随笔為你收集整理的sed知识整理:模式空间的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 九九热精品视频在线播放 | www.射 | 国产成人精品亚洲日本在线观看 | 国产后入又长又硬 | 国产剧情在线 | 免费成人av片 | 91视频网页| 婷婷看片| 日韩a在线观看 | 久久中文字幕精品 | 九九碰 | 美国一区二区三区 | 亚洲精品一区二区三区四区乱码 | 五号特工组之偷天换月 | 91精品国产综合久久久蜜臀九色 | 99精品成人 | 新红楼梦2005锦江版高清在线观看 | bl动漫在线观看 | 久久久久久久网 | 日韩一级视频在线观看 | 欧美成人精品一区二区综合免费 | 国产经典av | 天天舔天天干 | 韩国日本欧美一区 | 91丨porny在线 | 亚洲一区二区欧美 | 日本高清视频一区二区 | 黑人操日本女优 | 国产理论 | 天天色棕合合合合合合合 | 日本熟妇毛茸茸丰满 | а√在线中文网新版地址在线 | 亚洲午夜精品一区二区 | 中文字幕一区二区三区精品 | 亚洲图片中文字幕 | 欧美激情久久久久久久 | 美女隐私无遮挡免费 | 一区视频网站 | 在线91视频| 超碰在线网站 | 最好看的中文字幕国语电影mv | 欧美在线视频你懂的 | 嫩草影院在线观看视频 | 亚洲综合欧美综合 | 精品一区在线观看视频 | 亚洲国产第一页 | 亚洲系列在线 | 最新av| 久操热久操 | 黄色美女av | 香港黄色网址 | 亚洲av综合色区无码一区爱av | 久热精品在线观看视频 | 国产色呦呦 | 欧美亚洲在线视频 | 国产在线色站 | 伊人宗合 | 秘密爱大尺度做爰呻吟 | 岛国av噜噜噜久久久狠狠av | 1000部拍拍拍18勿入免费视频 | 亚洲情侣av| va视频在线观看 | 国产精品区一区二 | 999这里只有精品 | 日韩午夜在线观看 | 另类小说久久 | 久久国产精品无码网站 | 黄色一级一片 | 一区二区三区免费在线观看视频 | 97香蕉超级碰碰久久免费软件 | 中文字幕亚洲专区 | 日韩欧美一区二区三区四区五区 | 在线免费一区 | 精品亚洲一区二区三区四区五区高 | 亚洲国产精品视频一区二区 | 午夜不卡在线观看 | 国产欧美a | 麻豆成人精品 | 四虎在线免费视频 | 水蜜桃色314在线观看 | 久久久伊人网 | 欧美a v在线 | 夜夜撸影院 | 光棍福利视频 | 自拍偷拍999 | 爱操影院| 久久精品91| 黄色片子免费 | 久草香蕉在线 | 99精品久久 | 国产天堂av在线 | 樱桃av| 免费视频www在线观看网站 | 国模人体一区二区 | 日韩激情在线视频 | 中文字幕免费播放 | 欧美激情 一区 | 欧美va亚洲va | 国产精品无码网站 |