来一发CentOS体系里进步文本搜刮效力
如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的好朋友们!关于体系***或步伐员来讲,当必要在庞大设置的目次中大概在年夜型源码树中征采特定的文本或形式时,grep范例的工具也许是最受接待的。
假如grep是你最喜好的工具之一,那末你大概会更喜好ack。ack是一个基于Perl的相似于grep的下令行工具,可是搜刮速率更快,才能比grep更强。特别是当你是步伐员时,我激烈保举你利用ack来代替grep。
ack的用法十分合用与代码搜刮,因而步伐员能够在源码树中举行庞大的查询,而只必要更少的按键。
ack的特征
ack的一些十分壮大的特征:
默许搜刮以后事情目次
默许递回搜刮子目次
疏忽元数据目次,好比.svn,.git,CSV等目次
疏忽二进制文件(好比pdf,image,coredumps)和备份文件(好比foo~,*.swp)
在搜刮了局中打印行号,有助于找到方针代码
能搜刮特定文件范例(好比Perl,C++,Makefile),该文件范例能够有多种文件后缀
高亮搜刮了局
撑持Perl的初级正则表达式,比grep所利用GNU正则表达式更有体现力。
比拟于搜刮速率,ack整体上比grep更快。ack的速率只需体现在它的内置的文件范例过滤器。在搜刮过程当中,ack保持着承认的文件范例的列表,同时跳过未知或不用要的文件范例。它一样制止反省过剩的元数据目次。
在Linux上装置ack
只管在年夜多半Linux刊行版中是ack是尺度包,可容易取得(好比在基于debian的体系中,是ack-grep包,而在基于Redhat的体系中则是ack包),可是与刊行版***的ack版本仍旧是1.x,而ack2.0已公布,并且具有更多特征。
因而我筹办在官方网站下载,然后装置ack。
便利的是,ack在官网可可作为一个独自的Perl剧本取得,个中整合了一切必要依附的模块。因而,你不必要分外装置Perl模块来运转这剧本。
为了在你的Linux体系中装置ack,往官网下载最新版本的ack。在写本文时,最新的版本是2.12
$wgethttp://beyondgrep.com/ack-2.12-single-file$sudomvack-2.12-single-file/usr/local/bin/ack$sudochmod0755/usr/local/bin/ack
必要注重的是,在基于Debian的体系中,有一个自力的包也叫ack(汉码转换器)。以是假如你可巧有利用谁人包,那末你就必需重定名ack来制止定名抵触了。
ack的利用案例
1.在以后目次递回搜刮单词”eat”,不婚配相似于”feature”或”eating”的字符串:
$ack-weat
2.搜刮有特别字符的字符串’$path=.’,一切的元字符(好比’$,’.)必要在字面上被婚配:
$ack-Q$path=./etc
3.除dowloads目次,在一切目次搜刮”about”单词:
$ackabout--ignore-dir=downloads
4.只搜刮包括’protected’单词的PHP文件,然后经由过程文件名把搜刮了局整合在一同,打印每一个文件对应的搜刮了局:
$ack--php--groupprotected
5.猎取包括’CFLAG’关头字的Makefile的文件名。文件名为*.mk,makefile,Makefile,GNUmakefile的都在思索局限内:
$ack--make-lCFLAG
6.显现全部日记文件时高亮婚配到的字符串:
$tail-f/var/log/syslog|ack--passthru192.168.1.10
7.要调换ack撑持的文件过滤范例,运转:
$ack--help-type
如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的好朋友们!
来一发CentOS体系里进步文本搜刮效力
再次,Linux是用C语言编写的,我们有学习C语言的基础,读程序和编写代码方面存在的困难小一点,也是我们能较快掌握的原因之一。? 为了更好的学习这门课程,我不仅课上认真听讲,课下也努力学习,为此还在自己的电脑上安装了Ubuntu系统。 随着Linux应用的扩展,出现了不少Linux社区。有一些非常优秀的社区往往是Linux高手的舞台,如果在探讨高级技巧的论坛张贴非常初级的问题经常会没有结果。 以前觉得Linux就跟dos一样,全是用命令窗口,相对于窗口界面来说多麻烦呀。 老实说,第一个程序是在C中编译好的,调试好了才在Linux下运行,感觉用vi比较麻烦,因为有错了不能调试,只是提示错误。 生成新的unispimsp.ksc。”另外得到回复后如果问题解决,向帮助过你的人发个说明,让他们知道问题是怎样解决的。 请问谁有Linux的学习心得的吗?简单的说说? 感谢老师和同学们在学习上对我的帮助。
页:
[1]