• 每天进步一点点!

文章分类

推荐网站

常用手册

流编辑器sed(二)【原创】

sed范例

 

cat test_sed.txt

 

abc     def     hic     lmn     abc

123     456     1.23    4.5     321

ABC     Def     hIc     lmN     ABC

ABC     Def     hIc     lmN     dsf

A BC     Def     hIc     lmN     ABC

You     are     a       good    boy

you     are     not     a       good girl

That's  a       very    lovely  dog

 

例1. 打印:p命令

 

sed '/abc/p' test_sed.txt 

 

输出:

abc     def     hic     lmn     abc

abc     def     hic     lmn     abc

123     456     1.23    4.5     321

ABC     Def     hIc     lmN     ABC

ABC     Def     hIc     lmN     dsf

类别:Linux | 浏览(159) | 评论(0) | 阅读全文>>

流编辑器sed(一)【原创】

sed的工作流程

 

sed编辑器逐行处理文件(或输入),并将结果发送到屏幕。sed把当前正在处理的行保存在一个临时缓冲区中,这个缓冲区称为模式空间或临时缓冲。sed处理完模式空间中的行后(即在该行执行完sed后),就把该行发送到屏幕上(除非之前有命令删除这一行或取消打印操作),sed每处理完一行就将其从模式空间中删除,然后将下一行读入模式空间,进行处理或显示。处理完输入文件的最后一行后,sed便结束运行。sed把每一行都存在临时临时缓冲区中,对这个副本进行编辑,所以不会修改或破坏原文件。

 

 

定址

 

定址用于决定那些行用于编辑。地址的形式可以是数字,正则表达式或二者的结合。如果没有指定地址,sed将处理输入文件中的所有行。

如果指定的地址是一个数字,则这个数字代表行号。美元符号可以用来指代输入文件的最后一行。如果给出的是逗号分隔的两个行号,那么需要处理的地址就是这两行之间的范围(包括这两行在内)。范围可以是数字,正则表达式或二者的结合。 

格式:

sed   'command' filename(s)

范例:

类别:Linux | 浏览(116) | 评论(0) | 阅读全文>>

大型高性能网站的十项规则【转载】

在我们公司ChinaNetCloud,见 过多种不同类型的网站和系统,有好也有差。其中有些系统拥有良好的服务器/网络架构,并且进行了合理的调整和监控 ;然而一般的系统都会有安全和性能上的 问题,不能良好运行,也无法变得更流行。

在中国, 开源的LAMP栈是最流行的网络架构,它使用PHP开发,运行在Apache服务器上,以MySQL作为数据库,所有这些都运行在Linux上。它是个可靠的平台,运行良好,是现在全球最 流行的Internet系统架构。然而,我们很难对其规模进行正确的扩展并保持安全性,因为每个应用层都有其自身的问题、缺陷和最佳实践。我们的工作就是 帮助企业用最低的操作成本来创建并运行高性能的、可伸缩的、安全的系统,因此对于这类问题我们有很丰富的经验。

当前的实际情况是,很多网站都是由开发人员 快速而廉价地创建,通常没有任何IT人员或者经理,只是由程序员来管理系统。造成的结果是,虽然花费很低的成本网站就可以开始运行,但是当拥有大量用户、 需要扩展规模的时候,通常就会面临真正的问题。毕竟,中国拥有三亿八千万的Internet用户,如果其中的0.01%访问这个站点,就很容易引发25 万~50万的页面访问量。这些问题在各个级别上都会产生,下面总结的规则是对最一般的问题进行概述,并且说明为什么这些规则如此重要,以及最好采用什么方 法来修正它们。遵循这些建议的站点会提高它的可伸缩性、安全性以及操作上的稳定性。

类别:性能优化 | 浏览(84) | 评论(0) | 阅读全文>>

PHP工程师面临的成长瓶颈【转载】

作为开发中应用最广泛的语言之一,PHP有着大量的粉丝,那么你是一名优秀的程序员吗?在进行自我修炼的同时,你是否想过面对各种各样的问题,我该如何突破自身的瓶颈,以便更好的发展呢?

PHP工程师面临成长瓶颈

先明确这里所指的PHP工程师,是指主要以PHP进行Web系统的开发,没有使用其的语言工作过。工作经验大概在3~4年,普通的Web系统(百万级访问,千成级数据以内或业务逻辑不是特别复杂)开发起基本得心应手,没有什么问题。但他们会这样的特点:

 

◆除了PHP不使用其它的语言,可能会点shell 脚本。

◆对PHP的掌握不精(很多PHP手册都没有看完,库除外)。

◆知识面比较窄(面对需求,除开使用PHP和mysql ,不知道其它的解决办法)。

◆PHP代码以过程为主,认为面向对象的实现太绕,看不懂。

 

这些PHPer在遇到需要高性能,处理高并发,大量数据的项目或业务逻辑比较复杂(系统需要解决多领域业务的问题)时,缺少思路。不能分析问题的本质,技术判断力比较差,对于问题较快能找出临时的解决办法,但常常在不断临时性的解决办法中,系统和自己一步步走向崩溃。那怎么提高自己呢?怎么可以挑战 难度更高的系统?

 

更高的挑战在那里?

结合我自己的经验,我列出一些具体挑战,让大家先有个感性的认识。

类别:PHP | 浏览(71) | 评论(0) | 阅读全文>>

算法的力量(李开复)【转载】

算法是计算机科学领域最重要的基石之一,但却受到了国内一些程序员的冷落。许多学生看到一些公司在招聘时要求的编程语言五花八门,就产生了一种误解,认为学计算机就是学各种编程语言,或者认为,学习最新的语言、技术、标准就是最好的铺路方法。其实,大家被这些公司误导了。编程语言虽然该学,但是学习计算机算法和理论更重要,因为计算机语言和开发平台日新月异,但万变不离其宗的是那些算法和理论,例如数据结构、算法、编译原理、计算机体系结构、关系型数据库原理等等。在“开复学生网”上,有位同学生动地把这些基础课程比拟为“内功”,把新的语言、技术、标准比拟为“外功”。整天赶时髦的人最后只懂得招式,没有功力,是不可能成为高手的。

 

  • 算法与我

当我在1980年转入计算机科学系时,还没有多少人的专业方向是计算机科学。有许多其他系的人嘲笑我们说:“知道为什么只有你们系要加一个‘科学’,而没有‘物理科学系’或‘化学科学系’吗?因为人家是真的科学,不需要画蛇添足,而你们自己心虚,生怕不‘科学’,才这样欲盖弥彰。” 其实,这点他们彻底弄错了。真正学懂计算机的人(不只是“编程匠”)都对数学有相当的造诣,既能用科学家的严谨思维来求证,也能用工程师的务实手段来解决问题——而这种思维和手段的最佳演绎就是“算法”。

类别:数据结构 | 浏览(144) | 评论(0) | 阅读全文>>