免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 9123 | 回复: 10
打印 上一主题 下一主题

[学习共享] 闲着没事干,写了一个sed程序实现加法(没有去使用e命令) [复制链接]

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-03-10 23:39 |只看该作者 |倒序浏览
当然可以利用e来实现,然而位数自然是有上限的,我的脚本是没有上限的

  1. # ./add.sed
  2. 123243254456456564564565435545345  1254543345465099645656945435
  3. 123244508999802029664211092490780
  4. # expr 123243254456456564564565435545345 + 123243254456456564564565435545345
  5. expr: 123243254456456564564565435545345: Numerical result out of range
复制代码


以下为sed脚本
注:只支持非负十进制整数
另外,乘法还在考虑中


  1. #!/bin/sed -nrf
  2. s/^[ \t]*([0-9]+)[ \t]+([0-9]+)[ \t]*$/\1a\2b0/
  3. tb
  4. d
  5. :b
  6. /^[0-9]+a/!d
  7. /^0[0-9]/d
  8. /a[0-9]+b/!d
  9. /a0[0-9]/d
  10. :c
  11. s/^([^a]*)0(a.*)0b0/\1a0\2b0/;tc
  12. s/^([^a]*)0(a.*)0b1/\1a1\2b0/;tc
  13. s/^([^a]*)0(a.*)1b0/\1a1\2b0/;tc
  14. s/^([^a]*)0(a.*)1b1/\1a2\2b0/;tc
  15. s/^([^a]*)0(a.*)2b0/\1a2\2b0/;tc
  16. s/^([^a]*)0(a.*)2b1/\1a3\2b0/;tc
  17. s/^([^a]*)0(a.*)3b0/\1a3\2b0/;tc
  18. s/^([^a]*)0(a.*)3b1/\1a4\2b0/;tc
  19. s/^([^a]*)0(a.*)4b0/\1a4\2b0/;tc
  20. s/^([^a]*)0(a.*)4b1/\1a5\2b0/;tc
  21. s/^([^a]*)0(a.*)5b0/\1a5\2b0/;tc
  22. s/^([^a]*)0(a.*)5b1/\1a6\2b0/;tc
  23. s/^([^a]*)0(a.*)6b0/\1a6\2b0/;tc
  24. s/^([^a]*)0(a.*)6b1/\1a7\2b0/;tc
  25. s/^([^a]*)0(a.*)7b0/\1a7\2b0/;tc
  26. s/^([^a]*)0(a.*)7b1/\1a8\2b0/;tc
  27. s/^([^a]*)0(a.*)8b0/\1a8\2b0/;tc
  28. s/^([^a]*)0(a.*)8b1/\1a9\2b0/;tc
  29. s/^([^a]*)0(a.*)9b0/\1a9\2b0/;tc
  30. s/^([^a]*)0(a.*)9b1/\1a0\2b1/;tc
  31. s/^([^a]*)1(a.*)0b0/\1a1\2b0/;tc
  32. s/^([^a]*)1(a.*)0b1/\1a2\2b0/;tc
  33. s/^([^a]*)1(a.*)1b0/\1a2\2b0/;tc
  34. s/^([^a]*)1(a.*)1b1/\1a3\2b0/;tc
  35. s/^([^a]*)1(a.*)2b0/\1a3\2b0/;tc
  36. s/^([^a]*)1(a.*)2b1/\1a4\2b0/;tc
  37. s/^([^a]*)1(a.*)3b0/\1a4\2b0/;tc
  38. s/^([^a]*)1(a.*)3b1/\1a5\2b0/;tc
  39. s/^([^a]*)1(a.*)4b0/\1a5\2b0/;tc
  40. s/^([^a]*)1(a.*)4b1/\1a6\2b0/;tc
  41. s/^([^a]*)1(a.*)5b0/\1a6\2b0/;tc
  42. s/^([^a]*)1(a.*)5b1/\1a7\2b0/;tc
  43. s/^([^a]*)1(a.*)6b0/\1a7\2b0/;tc
  44. s/^([^a]*)1(a.*)6b1/\1a8\2b0/;tc
  45. s/^([^a]*)1(a.*)7b0/\1a8\2b0/;tc
  46. s/^([^a]*)1(a.*)7b1/\1a9\2b0/;tc
  47. s/^([^a]*)1(a.*)8b0/\1a9\2b0/;tc
  48. s/^([^a]*)1(a.*)8b1/\1a0\2b1/;tc
  49. s/^([^a]*)1(a.*)9b0/\1a0\2b1/;tc
  50. s/^([^a]*)1(a.*)9b1/\1a1\2b1/;tc
  51. s/^([^a]*)2(a.*)0b0/\1a2\2b0/;tc
  52. s/^([^a]*)2(a.*)0b1/\1a3\2b0/;tc
  53. s/^([^a]*)2(a.*)1b0/\1a3\2b0/;tc
  54. s/^([^a]*)2(a.*)1b1/\1a4\2b0/;tc
  55. s/^([^a]*)2(a.*)2b0/\1a4\2b0/;tc
  56. s/^([^a]*)2(a.*)2b1/\1a5\2b0/;tc
  57. s/^([^a]*)2(a.*)3b0/\1a5\2b0/;tc
  58. s/^([^a]*)2(a.*)3b1/\1a6\2b0/;tc
  59. s/^([^a]*)2(a.*)4b0/\1a6\2b0/;tc
  60. s/^([^a]*)2(a.*)4b1/\1a7\2b0/;tc
  61. s/^([^a]*)2(a.*)5b0/\1a7\2b0/;tc
  62. s/^([^a]*)2(a.*)5b1/\1a8\2b0/;tc
  63. s/^([^a]*)2(a.*)6b0/\1a8\2b0/;tc
  64. s/^([^a]*)2(a.*)6b1/\1a9\2b0/;tc
  65. s/^([^a]*)2(a.*)7b0/\1a9\2b0/;tc
  66. s/^([^a]*)2(a.*)7b1/\1a0\2b1/;tc
  67. s/^([^a]*)2(a.*)8b0/\1a0\2b1/;tc
  68. s/^([^a]*)2(a.*)8b1/\1a1\2b1/;tc
  69. s/^([^a]*)2(a.*)9b0/\1a1\2b1/;tc
  70. s/^([^a]*)2(a.*)9b1/\1a2\2b1/;tc
  71. s/^([^a]*)3(a.*)0b0/\1a3\2b0/;tc
  72. s/^([^a]*)3(a.*)0b1/\1a4\2b0/;tc
  73. s/^([^a]*)3(a.*)1b0/\1a4\2b0/;tc
  74. s/^([^a]*)3(a.*)1b1/\1a5\2b0/;tc
  75. s/^([^a]*)3(a.*)2b0/\1a5\2b0/;tc
  76. s/^([^a]*)3(a.*)2b1/\1a6\2b0/;tc
  77. s/^([^a]*)3(a.*)3b0/\1a6\2b0/;tc
  78. s/^([^a]*)3(a.*)3b1/\1a7\2b0/;tc
  79. s/^([^a]*)3(a.*)4b0/\1a7\2b0/;tc
  80. s/^([^a]*)3(a.*)4b1/\1a8\2b0/;tc
  81. s/^([^a]*)3(a.*)5b0/\1a8\2b0/;tc
  82. s/^([^a]*)3(a.*)5b1/\1a9\2b0/;tc
  83. s/^([^a]*)3(a.*)6b0/\1a9\2b0/;tc
  84. s/^([^a]*)3(a.*)6b1/\1a0\2b1/;tc
  85. s/^([^a]*)3(a.*)7b0/\1a0\2b1/;tc
  86. s/^([^a]*)3(a.*)7b1/\1a1\2b1/;tc
  87. s/^([^a]*)3(a.*)8b0/\1a1\2b1/;tc
  88. s/^([^a]*)3(a.*)8b1/\1a2\2b1/;tc
  89. s/^([^a]*)3(a.*)9b0/\1a2\2b1/;tc
  90. s/^([^a]*)3(a.*)9b1/\1a3\2b1/;tc
  91. s/^([^a]*)4(a.*)0b0/\1a4\2b0/;tc
  92. s/^([^a]*)4(a.*)0b1/\1a5\2b0/;tc
  93. s/^([^a]*)4(a.*)1b0/\1a5\2b0/;tc
  94. s/^([^a]*)4(a.*)1b1/\1a6\2b0/;tc
  95. s/^([^a]*)4(a.*)2b0/\1a6\2b0/;tc
  96. s/^([^a]*)4(a.*)2b1/\1a7\2b0/;tc
  97. s/^([^a]*)4(a.*)3b0/\1a7\2b0/;tc
  98. s/^([^a]*)4(a.*)3b1/\1a8\2b0/;tc
  99. s/^([^a]*)4(a.*)4b0/\1a8\2b0/;tc
  100. s/^([^a]*)4(a.*)4b1/\1a9\2b0/;tc
  101. s/^([^a]*)4(a.*)5b0/\1a9\2b0/;tc
  102. s/^([^a]*)4(a.*)5b1/\1a0\2b1/;tc
  103. s/^([^a]*)4(a.*)6b0/\1a0\2b1/;tc
  104. s/^([^a]*)4(a.*)6b1/\1a1\2b1/;tc
  105. s/^([^a]*)4(a.*)7b0/\1a1\2b1/;tc
  106. s/^([^a]*)4(a.*)7b1/\1a2\2b1/;tc
  107. s/^([^a]*)4(a.*)8b0/\1a2\2b1/;tc
  108. s/^([^a]*)4(a.*)8b1/\1a3\2b1/;tc
  109. s/^([^a]*)4(a.*)9b0/\1a3\2b1/;tc
  110. s/^([^a]*)4(a.*)9b1/\1a4\2b1/;tc
  111. s/^([^a]*)5(a.*)0b0/\1a5\2b0/;tc
  112. s/^([^a]*)5(a.*)0b1/\1a6\2b0/;tc
  113. s/^([^a]*)5(a.*)1b0/\1a6\2b0/;tc
  114. s/^([^a]*)5(a.*)1b1/\1a7\2b0/;tc
  115. s/^([^a]*)5(a.*)2b0/\1a7\2b0/;tc
  116. s/^([^a]*)5(a.*)2b1/\1a8\2b0/;tc
  117. s/^([^a]*)5(a.*)3b0/\1a8\2b0/;tc
  118. s/^([^a]*)5(a.*)3b1/\1a9\2b0/;tc
  119. s/^([^a]*)5(a.*)4b0/\1a9\2b0/;tc
  120. s/^([^a]*)5(a.*)4b1/\1a0\2b1/;tc
  121. s/^([^a]*)5(a.*)5b0/\1a0\2b1/;tc
  122. s/^([^a]*)5(a.*)5b1/\1a1\2b1/;tc
  123. s/^([^a]*)5(a.*)6b0/\1a1\2b1/;tc
  124. s/^([^a]*)5(a.*)6b1/\1a2\2b1/;tc
  125. s/^([^a]*)5(a.*)7b0/\1a2\2b1/;tc
  126. s/^([^a]*)5(a.*)7b1/\1a3\2b1/;tc
  127. s/^([^a]*)5(a.*)8b0/\1a3\2b1/;tc
  128. s/^([^a]*)5(a.*)8b1/\1a4\2b1/;tc
  129. s/^([^a]*)5(a.*)9b0/\1a4\2b1/;tc
  130. s/^([^a]*)5(a.*)9b1/\1a5\2b1/;tc
  131. s/^([^a]*)6(a.*)0b0/\1a6\2b0/;tc
  132. s/^([^a]*)6(a.*)0b1/\1a7\2b0/;tc
  133. s/^([^a]*)6(a.*)1b0/\1a7\2b0/;tc
  134. s/^([^a]*)6(a.*)1b1/\1a8\2b0/;tc
  135. s/^([^a]*)6(a.*)2b0/\1a8\2b0/;tc
  136. s/^([^a]*)6(a.*)2b1/\1a9\2b0/;tc
  137. s/^([^a]*)6(a.*)3b0/\1a9\2b0/;tc
  138. s/^([^a]*)6(a.*)3b1/\1a0\2b1/;tc
  139. s/^([^a]*)6(a.*)4b0/\1a0\2b1/;tc
  140. s/^([^a]*)6(a.*)4b1/\1a1\2b1/;tc
  141. s/^([^a]*)6(a.*)5b0/\1a1\2b1/;tc
  142. s/^([^a]*)6(a.*)5b1/\1a2\2b1/;tc
  143. s/^([^a]*)6(a.*)6b0/\1a2\2b1/;tc
  144. s/^([^a]*)6(a.*)6b1/\1a3\2b1/;tc
  145. s/^([^a]*)6(a.*)7b0/\1a3\2b1/;tc
  146. s/^([^a]*)6(a.*)7b1/\1a4\2b1/;tc
  147. s/^([^a]*)6(a.*)8b0/\1a4\2b1/;tc
  148. s/^([^a]*)6(a.*)8b1/\1a5\2b1/;tc
  149. s/^([^a]*)6(a.*)9b0/\1a5\2b1/;tc
  150. s/^([^a]*)6(a.*)9b1/\1a6\2b1/;tc
  151. s/^([^a]*)7(a.*)0b0/\1a7\2b0/;tc
  152. s/^([^a]*)7(a.*)0b1/\1a8\2b0/;tc
  153. s/^([^a]*)7(a.*)1b0/\1a8\2b0/;tc
  154. s/^([^a]*)7(a.*)1b1/\1a9\2b0/;tc
  155. s/^([^a]*)7(a.*)2b0/\1a9\2b0/;tc
  156. s/^([^a]*)7(a.*)2b1/\1a0\2b1/;tc
  157. s/^([^a]*)7(a.*)3b0/\1a0\2b1/;tc
  158. s/^([^a]*)7(a.*)3b1/\1a1\2b1/;tc
  159. s/^([^a]*)7(a.*)4b0/\1a1\2b1/;tc
  160. s/^([^a]*)7(a.*)4b1/\1a2\2b1/;tc
  161. s/^([^a]*)7(a.*)5b0/\1a2\2b1/;tc
  162. s/^([^a]*)7(a.*)5b1/\1a3\2b1/;tc
  163. s/^([^a]*)7(a.*)6b0/\1a3\2b1/;tc
  164. s/^([^a]*)7(a.*)6b1/\1a4\2b1/;tc
  165. s/^([^a]*)7(a.*)7b0/\1a4\2b1/;tc
  166. s/^([^a]*)7(a.*)7b1/\1a5\2b1/;tc
  167. s/^([^a]*)7(a.*)8b0/\1a5\2b1/;tc
  168. s/^([^a]*)7(a.*)8b1/\1a6\2b1/;tc
  169. s/^([^a]*)7(a.*)9b0/\1a6\2b1/;tc
  170. s/^([^a]*)7(a.*)9b1/\1a7\2b1/;tc
  171. s/^([^a]*)8(a.*)0b0/\1a8\2b0/;tc
  172. s/^([^a]*)8(a.*)0b1/\1a9\2b0/;tc
  173. s/^([^a]*)8(a.*)1b0/\1a9\2b0/;tc
  174. s/^([^a]*)8(a.*)1b1/\1a0\2b1/;tc
  175. s/^([^a]*)8(a.*)2b0/\1a0\2b1/;tc
  176. s/^([^a]*)8(a.*)2b1/\1a1\2b1/;tc
  177. s/^([^a]*)8(a.*)3b0/\1a1\2b1/;tc
  178. s/^([^a]*)8(a.*)3b1/\1a2\2b1/;tc
  179. s/^([^a]*)8(a.*)4b0/\1a2\2b1/;tc
  180. s/^([^a]*)8(a.*)4b1/\1a3\2b1/;tc
  181. s/^([^a]*)8(a.*)5b0/\1a3\2b1/;tc
  182. s/^([^a]*)8(a.*)5b1/\1a4\2b1/;tc
  183. s/^([^a]*)8(a.*)6b0/\1a4\2b1/;tc
  184. s/^([^a]*)8(a.*)6b1/\1a5\2b1/;tc
  185. s/^([^a]*)8(a.*)7b0/\1a5\2b1/;tc
  186. s/^([^a]*)8(a.*)7b1/\1a6\2b1/;tc
  187. s/^([^a]*)8(a.*)8b0/\1a6\2b1/;tc
  188. s/^([^a]*)8(a.*)8b1/\1a7\2b1/;tc
  189. s/^([^a]*)8(a.*)9b0/\1a7\2b1/;tc
  190. s/^([^a]*)8(a.*)9b1/\1a8\2b1/;tc
  191. s/^([^a]*)9(a.*)0b0/\1a9\2b0/;tc
  192. s/^([^a]*)9(a.*)0b1/\1a0\2b1/;tc
  193. s/^([^a]*)9(a.*)1b0/\1a0\2b1/;tc
  194. s/^([^a]*)9(a.*)1b1/\1a1\2b1/;tc
  195. s/^([^a]*)9(a.*)2b0/\1a1\2b1/;tc
  196. s/^([^a]*)9(a.*)2b1/\1a2\2b1/;tc
  197. s/^([^a]*)9(a.*)3b0/\1a2\2b1/;tc
  198. s/^([^a]*)9(a.*)3b1/\1a3\2b1/;tc
  199. s/^([^a]*)9(a.*)4b0/\1a3\2b1/;tc
  200. s/^([^a]*)9(a.*)4b1/\1a4\2b1/;tc
  201. s/^([^a]*)9(a.*)5b0/\1a4\2b1/;tc
  202. s/^([^a]*)9(a.*)5b1/\1a5\2b1/;tc
  203. s/^([^a]*)9(a.*)6b0/\1a5\2b1/;tc
  204. s/^([^a]*)9(a.*)6b1/\1a6\2b1/;tc
  205. s/^([^a]*)9(a.*)7b0/\1a6\2b1/;tc
  206. s/^([^a]*)9(a.*)7b1/\1a7\2b1/;tc
  207. s/^([^a]*)9(a.*)8b0/\1a7\2b1/;tc
  208. s/^([^a]*)9(a.*)8b1/\1a8\2b1/;tc
  209. s/^([^a]*)9(a.*)9b0/\1a8\2b1/;tc
  210. s/^([^a]*)9(a.*)9b1/\1a9\2b1/;tc


  211. :d
  212. /^a.*ab0$/ {
  213. :e
  214.         s/[ab]|0$//g
  215.         p
  216.         d
  217. }
  218. /^a.*ab1$/ {
  219.         s/^/1/
  220.         s/[ab]|1$//g
  221.         p
  222.         d
  223. }
  224. /^a.*b0$/ {
  225.         s/^(.*)a([0-9]+)b/\2\1/
  226.         s/a|0$//g
  227.         p
  228.         d
  229. }
  230. /^a.*b1$/ {
  231. :f
  232.         h
  233.         s/.*a([0-9]+)b.*/\1/
  234.         badd1
  235. :back
  236.         H
  237.         x
  238.         s/^(.*)1\n(.*)/\2\1/
  239.         s/a[^a]+$//
  240.         s/a//g
  241.         p
  242.         d
  243. }
  244. /b0$/be
  245. /b1$/ {
  246.         s/^([0-9]+)(a.*)b/\2\1b/
  247.         bf
  248. }



  249. :add1
  250. s/9*$/x&/
  251. :a
  252. s/x(0*)9/x\10/
  253. ta
  254. s/1x/2/
  255. s/2x/3/
  256. s/3x/4/
  257. s/4x/5/
  258. s/5x/6/
  259. s/6x/7/
  260. s/7x/8/
  261. s/8x/9/
  262. s/^x|0x/1/
  263. bback

复制代码

[ 本帖最后由 cjaizss 于 2008-3-10 23:55 编辑 ]

论坛徽章:
23
15-16赛季CBA联赛之吉林
日期:2017-12-21 16:39:27白羊座
日期:2014-10-27 11:14:37申猴
日期:2014-10-23 08:36:23金牛座
日期:2014-09-30 08:26:49午马
日期:2014-09-29 09:40:16射手座
日期:2014-11-25 08:56:112015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:0315-16赛季CBA联赛之山东
日期:2017-12-21 16:39:1915-16赛季CBA联赛之广东
日期:2016-01-19 13:33:372015亚冠之山东鲁能
日期:2015-10-13 09:39:062015亚冠之西悉尼流浪者
日期:2015-09-21 08:27:57
2 [报告]
发表于 2008-03-11 09:42 |只看该作者
佩服!
可惜是gnu sed,俺测试不了。

论坛徽章:
0
3 [报告]
发表于 2008-03-11 09:50 |只看该作者
太厉害了!很期待你乘法的实现!

论坛徽章:
0
4 [报告]
发表于 2008-03-11 09:52 |只看该作者
测试成功了
"没有去使用e命令",这个是什么意思?
e命令是啥
sed -e
?

论坛徽章:
0
5 [报告]
发表于 2008-03-11 10:53 |只看该作者
分析末尾数字 和进位 和 结果.结果 插在 a 与 a之间;  
过程中数据 ,模式应该是 类似与 / a xx a xx a xx a bxx/   xx代表数字是吧此情况  两位数长度相等的情况

论坛徽章:
0
6 [报告]
发表于 2008-03-11 12:13 |只看该作者
很厉害,测试成功
等待你的乘法?

论坛徽章:
8
摩羯座
日期:2014-11-26 18:59:452015亚冠之浦和红钻
日期:2015-06-23 19:10:532015亚冠之西悉尼流浪者
日期:2015-08-21 08:40:5815-16赛季CBA联赛之山东
日期:2016-01-31 18:25:0515-16赛季CBA联赛之四川
日期:2016-02-16 16:08:30程序设计版块每日发帖之星
日期:2016-06-29 06:20:002017金鸡报晓
日期:2017-01-10 15:19:5615-16赛季CBA联赛之佛山
日期:2017-02-27 20:41:19
7 [报告]
发表于 2008-03-11 12:18 |只看该作者

论坛徽章:
0
8 [报告]
发表于 2008-03-11 12:19 |只看该作者
太牛了!

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
9 [报告]
发表于 2008-03-11 12:26 |只看该作者
我调试sed的手段还是我一贯最喜欢用的print大法,没有借助别的工具:
s/^/test1\n/;s/^[^\n]+//;p
但要注意,这两个s是必然成功的,要注意对t的影响。

论坛徽章:
0
10 [报告]
发表于 2012-08-31 17:34 |只看该作者
回复 1# cjaizss


    根据cjaizss提供的代码思路,稍加改编,简化了下代码~那个lookup table是用shell脚本生成的,语法与之前的一样~
  1. #!/bin/sed -nrf

  2. s/^0*([0-9]+)\s+0*([0-9]+)\s*$/m\1xm\2ymamb/;ta
  3. s/.*/input error/;by
  4. :a
  5. s/mxmy//;td
  6. s/mx/mx/;tc
  7. s/my/my/;tb
  8. #the length of two number is equal
  9. s/m([0-9]*)(.)xm([0-9]*)(.)ym([0-9]*)am([0-9]*)b/m\1xm\3ym\2\5am\4\6b/;ta
  10. :b
  11. #the second number is shorter, append 0 before it
  12. s/m([0-9]*)(.)xmym([0-9]*)am([0-9]*)b/m\1xmym\2\3am0\4b/;ta
  13. :c
  14. #the first number is shorter, append 0 before it
  15. s/m([0-9]*)(.)ym([0-9]*)am([0-9]*)b/m\1ym0\3am\2\4b/;ta
  16. :d

  17. #lookup table
  18. s/(.*)/\10d\
  19. 000a0b0d010a1b0d020a2b0d030a3b0d040a4b0d050a5b0d060a6b0d070a7b0d080a8b0d090a9b0d\
  20. 011a0b0d021a1b0d031a2b0d041a3b0d051a4b0d061a5b0d071a6b0d081a7b0d091a8b0d101a9b0d\
  21. 022a0b0d032a1b0d042a2b0d052a3b0d062a4b0d072a5b0d082a6b0d092a7b0d102a8b0d112a9b0d\
  22. 033a0b0d043a1b0d053a2b0d063a3b0d073a4b0d083a5b0d093a6b0d103a7b0d113a8b0d123a9b0d\
  23. 044a0b0d054a1b0d064a2b0d074a3b0d084a4b0d094a5b0d104a6b0d114a7b0d124a8b0d134a9b0d\
  24. 055a0b0d065a1b0d075a2b0d085a3b0d095a4b0d105a5b0d115a6b0d125a7b0d135a8b0d145a9b0d\
  25. 066a0b0d076a1b0d086a2b0d096a3b0d106a4b0d116a5b0d126a6b0d136a7b0d146a8b0d156a9b0d\
  26. 077a0b0d087a1b0d097a2b0d107a3b0d117a4b0d127a5b0d137a6b0d147a7b0d157a8b0d167a9b0d\
  27. 088a0b0d098a1b0d108a2b0d118a3b0d128a4b0d138a5b0d148a6b0d158a7b0d168a8b0d178a9b0d\
  28. 099a0b0d109a1b0d119a2b0d129a3b0d139a4b0d149a5b0d159a6b0d169a7b0d179a8b0d189a9b0d\
  29. 010a0b1d020a1b1d030a2b1d040a3b1d050a4b1d060a5b1d070a6b1d080a7b1d090a8b1d100a9b1d\
  30. 021a0b1d031a1b1d041a2b1d051a3b1d061a4b1d071a5b1d081a6b1d091a7b1d101a8b1d111a9b1d\
  31. 032a0b1d042a1b1d052a2b1d062a3b1d072a4b1d082a5b1d092a6b1d102a7b1d112a8b1d122a9b1d\
  32. 043a0b1d053a1b1d063a2b1d073a3b1d083a4b1d093a5b1d103a6b1d113a7b1d123a8b1d133a9b1d\
  33. 054a0b1d064a1b1d074a2b1d084a3b1d094a4b1d104a5b1d114a6b1d124a7b1d134a8b1d144a9b1d\
  34. 065a0b1d075a1b1d085a2b1d095a3b1d105a4b1d115a5b1d125a6b1d135a7b1d145a8b1d155a9b1d\
  35. 076a0b1d086a1b1d096a2b1d106a3b1d116a4b1d126a5b1d136a6b1d146a7b1d156a8b1d166a9b1d\
  36. 087a0b1d097a1b1d107a2b1d117a3b1d127a4b1d137a5b1d147a6b1d157a7b1d167a8b1d177a9b1d\
  37. 098a0b1d108a1b1d118a2b1d128a3b1d138a4b1d148a5b1d158a6b1d168a7b1d178a8b1d188a9b1d\
  38. 109a0b1d119a1b1d129a2b1d139a3b1d149a4b1d159a5b1d169a6b1d179a7b1d189a8b1d199a9b1d\
  39. cc/


  40. :e
  41. #plus two numbers from the end of themselves
  42. s/(.)am([0-9]*)(.)b(.)d(.*)(.)(.)\1a\3b\4d(.*)c(.*)c/am\2b\6d\5\6\7\1a\3b\4d\8c\7\9c/;te
  43. :x
  44. #get the result
  45. s/^mamb(.)d.+c(.+)c/\1\2/;tx
  46. #remove leading zero
  47. s/^0*//;ty
  48. :y
  49. p
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP