2015年4月12日
摘要: 这里有两个概念:cpu访址能力和提供的内存。举例来说,有个灯泡,可以照亮100立方米的空间,只有照亮的空间才可以工作。假如现在的空间只有50立方米,只要增加空间,可工作的空间就增加了。如果当前已经是100立方米的空间,再增加空间也没用,因为灯泡照不到,可工作的空间还是100立方米。1、32位系统,能... 阅读全文
posted @ 2015-04-12 20:39 Andy Niu 阅读(272) 评论(0) 推荐(0) 编辑
摘要: n: 读取一行,执行n,把当前行打印到标准输出,再读取一行,覆盖当前行,然后对模式空间执行一组模式/行为。N:读取一行,执行N,再读取一行,现在模式空间有两行内容,执行一组模式/行为。如下:[root@localhost ~]# sed 'n;p;' num.txt num1num2num2num3... 阅读全文
posted @ 2015-04-12 20:01 Andy Niu 阅读(281) 评论(0) 推荐(0) 编辑
摘要: 1、sed一次读取一行数据,把读取的数据拷贝到模式空间,在模式空间(pattern space )内处理数据,然后读入下一行数据,直到结束。2、sed并不是直接处理原数据,而是对原数据的副本进行处理,因此没有改变原数据。如果想直接改变原数据,使用 -i cfg.cnf3、默认情况下,sed对每一行都... 阅读全文
posted @ 2015-04-12 19:22 Andy Niu 阅读(704) 评论(0) 推荐(0) 编辑
摘要: notepad++ 删除相邻重复的行查找 (.+?)(\r\n)\1 替换为 \1sed 删除重复行sed -nr '1h;1!H;${x;s/(.+)(\n)\1/\1/g;p}' num.txt-n 安静模式,sed 读取下一行之前,都会把模式空间的内容,打印到标准输出,-n取消这种打印。-r ... 阅读全文
posted @ 2015-04-12 19:21 Andy Niu 阅读(1325) 评论(1) 推荐(0) 编辑
摘要: 1、思路:用正则表达式匹配,使用反向引用,替换。查找(.+?)\1 替换为 $1 (.+)\1 为什么不好?因为量词优先,+会尽可能地吃,然后又要一个一个吐出来,效率太差,使用(.+?)\1 取消量词优先,尽量少吃。 (.*?)\1 为什么不好,因为.* 可以匹配没有字符的情况,.+ 要求至少有一个... 阅读全文
posted @ 2015-04-12 19:20 Andy Niu 阅读(360) 评论(0) 推荐(0) 编辑
摘要: 1、程序运行,要把需要的共享动态库装入内存。2、在内存中,每个进程都有一份专属自己的数据,共享动态库中的代码段是共享的,只有一份,这样不会有问题吗?3、因为代码段是只读的,多个人读,没有问题。去写代码段,程序要崩溃。4、即使是数据段,为了效率,也是采用COW(Copy-On-Write),写时拷贝,... 阅读全文
posted @ 2015-04-12 19:18 Andy Niu 阅读(284) 评论(0) 推荐(0) 编辑
摘要: 1、环视就是看周围的意思。环视匹配一个位置,这个位置的周围满足一些条件。也就是这个位置的前后,包含某些内容,后者不包含某些内容。2、对于12345678,修改为 12,345,678。这个需求要做的事情就是在数字中的一些位置添加逗号,这个位置的特点是:从最右边的一个数字开始,三个数字倍数的位置添加一... 阅读全文
posted @ 2015-04-12 17:59 Andy Niu 阅读(412) 评论(0) 推荐(0) 编辑
摘要: 1、只匹配期望的文本,排除不期望的文本。2、易于控制和理解。3、使用NFA,注意效率问题。能够匹配,尽快匹配并返回。不能匹配,尽快报告匹配失败。 阅读全文
posted @ 2015-04-12 17:39 Andy Niu 阅读(317) 评论(0) 推荐(0) 编辑
摘要: 考虑 ^.*: 与^.*?: 的区别:1、前者从行头匹配到最后一个: 后者从行头匹配到第一个:2、注意:假设一行中有多个冒号,前者只能匹配一个,后者可以匹配多个。如果确定一行中最多只有一个冒号,使用二者是等价的。这里存在效率问题。3、如果冒号靠近行的开头,使用后者,少吃就能匹配成功,如果使用前者,情... 阅读全文
posted @ 2015-04-12 17:34 Andy Niu 阅读(1121) 评论(0) 推荐(0) 编辑
摘要: 1、匹配优先存在的问题,考虑下面的情况: The name "dumpling" is said "jiaozi" in Chenese. 我们想要匹配 双引号引起来的单词,这里也就是 dumpling和jiaozi。 使用 ".*" ,出现什么问题? "匹配第一个双引号,.* 量词优先匹配,一直... 阅读全文
posted @ 2015-04-12 17:20 Andy Niu 阅读(384) 评论(0) 推荐(0) 编辑
摘要: 1、NFA引擎最重要的性质是:遇到两个匹配成功的情况,选择其中的一个,同时记住另一个,作为备选状态。2、需要做出选择的情况有:量词和多选结构。量词是匹配优先的,而多选结构往往是按顺序选择的。3、选择一条支路,全局匹配成功,匹配结束。如果失败,后退一步,选择另一条支路,后退只是后退一步,符合后进先出。... 阅读全文
posted @ 2015-04-12 16:39 Andy Niu 阅读(180) 评论(0) 推荐(0) 编辑