|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
如果您觉得本篇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教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的好朋友们! |
|