亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 2126 | 回復(fù): 8
打印 上一主題 下一主題

[文本處理] sed輸出文件最后6行,不理解,求解釋! [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2013-04-01 16:56 |只看該作者 |倒序?yàn)g覽
本帖最后由 coolias 于 2013-04-01 17:53 編輯

在網(wǎng)上找了段代碼,好使,但是不能理解:
  1. [root@netflow64 ~]# seq 10 | sed ':a;$q;N;7,$D;b a'
  2. 5
  3. 6
  4. 7
  5. 8
  6. 9
  7. 10
復(fù)制代碼
去掉label a后,結(jié)果一點(diǎn)也不一樣,按照我的理解最后的指令b a,就是無條件跳到開始處重新執(zhí)行嗎,按理說要不要label a都一樣啊,但是:
  1. [root@netflow64 ~]# seq 10 | sed '$q;N;7,$D'
  2. 1
  3. 2
  4. 3
  5. 4
  6. 5
  7. 6
  8. 10
復(fù)制代碼
求解釋,最好能step by step,初入sed,希望各位大牛多多賜教

論壇徽章:
6
摩羯座
日期:2013-08-24 10:43:10獅子座
日期:2013-08-25 10:27:06天秤座
日期:2013-09-11 20:28:44午馬
日期:2014-09-28 16:06:0015-16賽季CBA聯(lián)賽之八一
日期:2016-12-19 13:55:0515-16賽季CBA聯(lián)賽之天津
日期:2016-12-20 14:01:23
2 [報(bào)告]
發(fā)表于 2013-04-01 17:35 |只看該作者
本帖最后由 cao627 于 2013-04-01 17:40 編輯

回復(fù) 1# coolias


    seq 10 | sed ':a;$q;N;7,$D;b a'

1   讀取1到模式空間,遇到N將2并到模式空間,模式空間為 1\n2,做判斷 “7,$”,判斷失敗,繼續(xù)執(zhí)行b,跳到開頭:a。(如果這里沒有b,那么模式空間的內(nèi)容被打印)
2   接上步一,遇到到N,將3并到模式空間,模式空間為 1\n2\3, 做判斷 “7,$”,判斷失敗,繼續(xù)執(zhí)行b,跳到開頭:a。
3   .....
4   ....
5   ....
6  接上步一,遇到到N,將7并到模式空間,模式空間為 1\n2\n3\n4\n5\n6\n7, 做判斷 “7,$”,判斷成功執(zhí)行D ,刪除模式空間第一個(gè)\n 之前的內(nèi)容 ,模式空間變?yōu)?\n3\n4\n5\n6\n7
    D本身帶有跳轉(zhuǎn)功能,跳到開頭。這一步的b沒有執(zhí)行到。
7  接上步一 , 遇到到N,將8并到模式空間,模式空間為 2\n3\n4\n5\n6\n7\n8,  做判斷 “7,$”,判斷成功執(zhí)行D,刪除模式空間第一個(gè)\n 之前的內(nèi)容 ,模式空間變?yōu)?\n4  \n5\n6\n7\n8
    D本身帶有跳轉(zhuǎn)功能,跳到開頭.
8  ....
9  接上步一 , 遇到到N,將10并到模式空間,模式空間為 4\n5\n6\n7\n8\n9\n10,  做判斷 “7,$”,判斷成功執(zhí)行D,刪除模式空間第一個(gè)\n 之前的內(nèi)容 ,模式空間變?yōu)?\n6\n7\n8\n9\n10 D本身帶有跳轉(zhuǎn)功能,跳到開頭
10  $判斷成功,執(zhí)行q,打印模式模式空間 5\n6\n7\n8\n9\n10。

論壇徽章:
32
處女座
日期:2013-11-20 23:41:20雙子座
日期:2014-06-11 17:20:43戌狗
日期:2014-06-16 11:05:00處女座
日期:2014-07-22 17:30:47獅子座
日期:2014-07-28 15:38:17金牛座
日期:2014-08-05 16:34:01亥豬
日期:2014-08-18 13:34:25白羊座
日期:2014-09-02 15:03:55金牛座
日期:2014-11-10 10:23:58處女座
日期:2014-12-02 09:17:52程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-06-16 22:20:002015亞冠之塔什干火車頭
日期:2015-06-20 23:28:22
3 [報(bào)告]
發(fā)表于 2013-04-01 17:35 |只看該作者
本帖最后由 yestreenstars 于 2013-04-01 17:40 編輯

如果要打印最后7行的話應(yīng)該是:
  1. seq 10 | sed ':1;$q;N;8,$D;b1'
復(fù)制代碼
標(biāo)簽的作用是使sed循環(huán)的讀入每一行到同一個(gè)模式空間,如果不使用標(biāo)簽的話,默認(rèn)sed會(huì)一行一行地讀入模式空間,這里是兩行,因?yàn)橛玫搅薔,這樣,當(dāng)sed在處理第8行到最后一行時(shí),就會(huì)把第8行和第9行刪掉。要看過程的話建議你去下載一個(gè)sedsed工具。

論壇徽章:
0
4 [報(bào)告]
發(fā)表于 2013-04-01 17:51 |只看該作者
回復(fù) 2# cao627


非常感謝,對sed又有更深入的理解了

論壇徽章:
0
5 [報(bào)告]
發(fā)表于 2013-04-01 17:52 |只看該作者
回復(fù) 3# yestreenstars


    標(biāo)題說錯(cuò)了,應(yīng)該是最后6行:wink:

論壇徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年紀(jì)念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役紀(jì)念章
日期:2022-04-24 14:33:24
6 [報(bào)告]
發(fā)表于 2013-04-01 20:03 |只看該作者
本帖最后由 Shell_HAT 于 2013-04-01 20:03 編輯

$ seq 10 | ./sedsed -d --hide=hold ':a;$q;N;7,$D;b a'
PATT:1$
COMM::a
COMM:$ q
PATT:1$
COMM:N
PATT:1\n2$
COMM:7,$ D
PATT:1\n2$
COMM:b a
COMM:$ q
PATT:1\n2$
COMM:N
PATT:1\n2\n3$
COMM:7,$ D
PATT:1\n2\n3$
COMM:b a
COMM:$ q
PATT:1\n2\n3$
COMM:N
PATT:1\n2\n3\n4$
COMM:7,$ D
PATT:1\n2\n3\n4$
COMM:b a
COMM:$ q
PATT:1\n2\n3\n4$
COMM:N
PATT:1\n2\n3\n4\n5$
COMM:7,$ D
PATT:1\n2\n3\n4\n5$
COMM:b a
COMM:$ q
PATT:1\n2\n3\n4\n5$
COMM:N
PATT:1\n2\n3\n4\n5\n6$
COMM:7,$ D
PATT:1\n2\n3\n4\n5\n6$
COMM:b a
COMM:$ q
PATT:1\n2\n3\n4\n5\n6$
COMM:N
PATT:1\n2\n3\n4\n5\n6\n7$
COMM:7,$ D
PATT:2\n3\n4\n5\n6\n7$
COMM::a
COMM:$ q
PATT:2\n3\n4\n5\n6\n7$
COMM:N
PATT:2\n3\n4\n5\n6\n7\n8$
COMM:7,$ D
PATT:3\n4\n5\n6\n7\n8$
COMM::a
COMM:$ q
PATT:3\n4\n5\n6\n7\n8$
COMM:N
PATT:3\n4\n5\n6\n7\n8\n9$
COMM:7,$ D
PATT:4\n5\n6\n7\n8\n9$
COMM::a
COMM:$ q
PATT:4\n5\n6\n7\n8\n9$
COMM:N
PATT:4\n5\n6\n7\n8\n9\n10$
COMM:7,$ D
PATT:5\n6\n7\n8\n9\n10$
COMM::a
COMM:$ q
5
6
7
8
9
10

論壇徽章:
0
7 [報(bào)告]
發(fā)表于 2013-04-01 20:51 |只看該作者
學(xué)習(xí)了  不錯(cuò)   很詳細(xì)

論壇徽章:
13
丑牛
日期:2013-08-16 15:08:22技術(shù)圖書徽章
日期:2013-11-26 10:13:40雙魚座
日期:2013-11-08 15:03:26戌狗
日期:2013-11-08 13:52:30技術(shù)圖書徽章
日期:2013-11-05 14:06:30戌狗
日期:2013-10-31 11:45:42CU十二周年紀(jì)念徽章
日期:2013-10-24 15:41:34天秤座
日期:2013-10-11 14:55:08子鼠
日期:2013-09-26 19:36:35水瓶座
日期:2013-09-26 17:44:56午馬
日期:2013-08-26 10:24:23丑牛
日期:2013-08-19 14:43:22
8 [報(bào)告]
發(fā)表于 2013-04-02 10:43 |只看該作者
@cao627@yestreenstars@Shell_HAT
我怎么感覺$q這個(gè)參數(shù)沒必要的,下面這樣好像也可以的
  1. sed ':a;N;7,$D;ba'
復(fù)制代碼

論壇徽章:
0
9 [報(bào)告]
發(fā)表于 2013-04-02 16:40 |只看該作者
回復(fù) 6# Shell_HAT

牛逼的工具,趕緊下一個(gè)嘗試下,


   
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP