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

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

Chinaunix

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

[文本處理] sed語法疑問指定行前面插入另外一個(gè)文本 [復(fù)制鏈接]

論壇徽章:
6
15-16賽季CBA聯(lián)賽之浙江
日期:2021-07-14 11:18:4315-16賽季CBA聯(lián)賽之浙江
日期:2021-08-20 17:26:1015-16賽季CBA聯(lián)賽之天津
日期:2021-09-01 10:56:4619周年集字徽章-19
日期:2021-10-12 11:08:032016科比退役紀(jì)念章
日期:2021-10-12 11:33:4515-16賽季CBA聯(lián)賽之深圳
日期:2021-11-11 14:25:38
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2021-12-22 11:42 |只看該作者 |倒序?yàn)g覽
http://www.72891.cn/thread-4316920-1-2.html
看到這個(gè)帖子的問題,于是百度了一下sed 如何實(shí)現(xiàn),找到如下語法
sed '/\/head/{r read.txt
;N}' filename
這樣就實(shí)現(xiàn)了將內(nèi)容插入到匹配行前面,但是我想不通其中的原理,有沒有大神解釋下

論壇徽章:
20
程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-10-11 06:20:0015-16賽季CBA聯(lián)賽之山東
日期:2016-05-28 18:18:5615-16賽季CBA聯(lián)賽之新疆
日期:2017-04-12 22:55:4715-16賽季CBA聯(lián)賽之青島
日期:2017-06-26 18:30:0315-16賽季CBA聯(lián)賽之四川
日期:2017-09-04 12:27:0315-16賽季CBA聯(lián)賽之福建
日期:2018-02-09 14:28:3315-16賽季CBA聯(lián)賽之同曦
日期:2018-04-17 12:43:3415-16賽季CBA聯(lián)賽之浙江
日期:2018-07-14 13:27:4015-16賽季CBA聯(lián)賽之吉林
日期:2018-09-13 15:48:2915-16賽季CBA聯(lián)賽之新疆
日期:2016-05-07 05:05:3215-16賽季CBA聯(lián)賽之八一
日期:2016-03-14 12:32:06程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-12-12 06:20:00
2 [報(bào)告]
發(fā)表于 2021-12-23 11:17 |只看該作者
開啟 sed debug 模式 看一看
  1. [root@test-02 ~]# cat a
  2. aaaaaa
  3. [root@test-02 ~]# seq 5 | sed4.8 '/3/{r a
  4. > N}'
  5. 1
  6. 2
  7. aaaaaa
  8. 3
  9. 4
  10. 5
  11. [root@test-02 ~]# seq 5 | sed4.8 --debug '/3/{r a
  12. N}'
  13. SED PROGRAM:
  14.   /3/ {
  15.     r a
  16.     N
  17.   }
  18. INPUT:   'STDIN' line 1
  19. PATTERN: 1
  20. COMMAND: /3/ {
  21. COMMAND: }
  22. END-OF-CYCLE:
  23. 1
  24. INPUT:   'STDIN' line 2
  25. PATTERN: 2
  26. COMMAND: /3/ {
  27. COMMAND: }
  28. END-OF-CYCLE:
  29. 2
  30. INPUT:   'STDIN' line 3
  31. PATTERN: 3
  32. COMMAND: /3/ {
  33. COMMAND:   r a
  34. COMMAND:   N
  35. aaaaaa
  36. PATTERN: 3\n4
  37. COMMAND: }
  38. END-OF-CYCLE:
  39. 3
  40. 4
  41. INPUT:   'STDIN' line 5
  42. PATTERN: 5
  43. COMMAND: /3/ {
  44. COMMAND: }
  45. END-OF-CYCLE:
  46. 5
  47. [root@test-02 ~]# seq 5 | sed4.8 -e '/3/{r a' -e 'N}'
  48. 1
  49. 2
  50. aaaaaa
  51. 3
  52. 4
  53. 5
  54. [root@test-02 ~]# seq 5 | sed4.8 --debug -e '/3/{r a' -e 'N}'
  55. SED PROGRAM:
  56.   /3/ {
  57.     r a
  58.     N
  59.   }
  60. INPUT:   'STDIN' line 1
  61. PATTERN: 1
  62. COMMAND: /3/ {
  63. COMMAND: }
  64. END-OF-CYCLE:
  65. 1
  66. INPUT:   'STDIN' line 2
  67. PATTERN: 2
  68. COMMAND: /3/ {
  69. COMMAND: }
  70. END-OF-CYCLE:
  71. 2
  72. INPUT:   'STDIN' line 3
  73. PATTERN: 3
  74. COMMAND: /3/ {
  75. COMMAND:   r a
  76. COMMAND:   N
  77. aaaaaa
  78. PATTERN: 3\n4
  79. COMMAND: }
  80. END-OF-CYCLE:
  81. 3
  82. 4
  83. INPUT:   'STDIN' line 5
  84. PATTERN: 5
  85. COMMAND: /3/ {
  86. COMMAND: }
  87. END-OF-CYCLE:
  88. 5
復(fù)制代碼

論壇徽章:
6
15-16賽季CBA聯(lián)賽之浙江
日期:2021-07-14 11:18:4315-16賽季CBA聯(lián)賽之浙江
日期:2021-08-20 17:26:1015-16賽季CBA聯(lián)賽之天津
日期:2021-09-01 10:56:4619周年集字徽章-19
日期:2021-10-12 11:08:032016科比退役紀(jì)念章
日期:2021-10-12 11:33:4515-16賽季CBA聯(lián)賽之深圳
日期:2021-11-11 14:25:38
3 [報(bào)告]
發(fā)表于 2021-12-23 14:00 |只看該作者
本帖最后由 a5love3n 于 2021-12-23 14:04 編輯

回復(fù) 2# baby_神

感謝大神指導(dǎo),我的sed 4.2好像沒有debug,用sedsed看了下執(zhí)行過程
  1. sedsed -d -e '/3/{r test.txt' -e 'N}' test1.txt   \\這條命令會(huì)把結(jié)果插入到指定行前面
  2. ......
  3. PATT:3$
  4. HOLD:$
  5. COMM:/3/ {
  6. COMM:r test.txt
  7. PATT:3$
  8. HOLD:$
  9. COMM:N
  10. a1   abcd   a2    cdef
  11. a3   ghij    a4    klmn

  12. a1   aaaa   a2   bbbb
  13. a3   ccccc  a4   ddddd
  14. a5   eeee   a6   ffffff

  15. a1   yyyy     a2   zzzzz
  16. a3   wwww  a4   xxxx
  17. PATT:3\n4$
  18. HOLD:$
  19. COMM:}
  20. PATT:3\n4$
  21. HOLD:$
  22. 3
  23. 4
  24. ......
復(fù)制代碼
  1. sedsed -d  '/3/r test.txt' test1.txt  \\這條命令會(huì)把內(nèi)容插入到指定行后面
  2. ......
  3. PATT:3$
  4. HOLD:$
  5. COMM:/3/ r test.txt
  6. PATT:3$
  7. HOLD:$
  8. 3
  9. a1   abcd   a2    cdef
  10. a3   ghij    a4    klmn

  11. a1   aaaa   a2   bbbb
  12. a3   ccccc  a4   ddddd
  13. a5   eeee   a6   ffffff

  14. a1   yyyy     a2   zzzzz
  15. a3   wwww  a4   xxxx
  16. PATT:4$
  17. HOLD:$
  18. COMM:/3/ r test.txt
  19. PATT:4$
  20. HOLD:$
  21. 4
  22. ......
復(fù)制代碼
從執(zhí)行過程對(duì)比來看,我的理解是:當(dāng) r 命令后面有N命令的時(shí)候,sed會(huì)把r 命令的內(nèi)容輸出,再去執(zhí)行默認(rèn)動(dòng)作(打印pattern space里面的內(nèi)容),后面沒有N命令的時(shí)候,會(huì)先執(zhí)行默認(rèn)動(dòng)作(打印pattern space里面的內(nèi)容),最后再輸出 r 命令讀取到的文件內(nèi)容,不知我理解的對(duì)不對(duì)
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(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)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP