ack是一个文本搜索工具,比grepack命令安装>yuminstall-yack命令特点默认搜索当前工作目录默认递归搜索子目录忽略元数据目录,如.svn,.git,CSV等目录忽略二进制文件(如pdf、image、coredumps)和备份文件(如foo~、*.swp)在搜索结果中打印行号,有助于查找目标代码可以搜索特定文件类型(如Perl,C++),Makefile),这种文件类型可以有多个文件后缀。突出显示的搜索结果支持Perl的高级正则表达式,它比grep使用的GNU正则表达式更具表现力。与搜索速度相比,ack一般比grep快。ack的速度只体现在它内置的文件类型过滤器上。在搜索过程中,ack维护一个已识别文件类型的列表,同时跳过未知或不必要的文件类型。它还避免检查冗余元数据目录。命令参数-n,显示行号-l/L,显示匹配/不匹配的文件名-c,统计-v,反转匹配-w,单词匹配-i,忽略大小写-f,只显示文件名,不要搜索。-h,不显示名字-v,显示不匹配的递归搜索当前目录下的单词“eat”,不匹配类似于“feature”或“eating”的字符串:>ack-weatsearchhasspecialcharactersforthestring'$path=.',所有元字符(如'$'、'.')需要按字面匹配:>ack-Q'$path=.'/etc除了temp目录,在所有目录中搜索词use>ackuse--ignore-dir=temp只搜索包含词'main'的Python文件,然后按文件名合并搜索结果,打印搜索每个文件对应的结果>ack--python--group-wmainack支持的文件类型>ack--help-types--[no]actionscript.as.mxml--[no]ada.ada.adb.ads--[无]asm.asm.s--[无]asp.asp--[无]aspx.master.ascx.asmx.aspx.svc--[无]batch.bat.cmd--[无]cc.c.h.xs--[无]cfmx。cfc.cfm.cfml——[无]clojure.clj.cljs.edn.cljc——[无]cmakeCMakeLists.txt;.cmake--[no]coffeescript.coffee--[no]cpp.cpp.cc。cxx.m.hpp.hh.h.hxx--[无]csharp.cs--[无]css.css--[无]dart.dart--[无]delphi.pas.int.dfm.nfm.dof.dpk.dproj.groupproj.bdsgroup.bdsproj--[no]elisp.el--[no]elixir.ex.exs--[no]erlang.erl.hrl--[无]fortran.f.f77.f90.f95.f03.for.ftn.fpp--[无]go.go--[无]groovy.groovy.gtmpl.gpp.grunit.gradle--[无]gsp.gsp--[no]haskell.hs.lhs--[no]hh.h--[no]hpp.hpp.hh.h.hxx--[no]html.htm.html.xhtml--[no]]jade.jade--[no]java.java.properties--[no]js.js--[no]json.json--[no]jsp.jsp.jspx.jspf.jhtm.jhtml--[no]]kotlin.kt.kts--[no]less.less--[no]lisp.lisp.lsp--[no]lua.lua;第一行匹配/^#!.*\blua(jit)?/--[no]make.mk;马克;生成文件;生成文件;生成文件.调试;Makefile.Release--[no]matlab.m--[no]objc.m.h--[no]objcpp.mm.h--[no]ocaml.ml.mli.mll.mly--[no]parrot.pir.pasm.pmc.ops.pod.pg.tg--[no]perl.pl.pm.pod.t.psgi;第一行匹配/^#!.*\bperl/--[no]perltest.t--[no]php.php.phpt.php3.php4.php5.phtml;第一行匹配/^#!.*\bphp/--[no]plone.pt.cpt.metadata.cpy.py--[no]python.py;第一行匹配/^#!.*\bpython/--[no]rakeRakefile--[no]rr.R--[no]rst.rst--[no]ruby.rb.rhtml.rjs.rxml。erb.rake.spec;文件;第一行匹配/^#!.*\bruby/--[no]rust.rs--[no]sass.sass.scss--[no]scala.scala--[no]scheme.scm.ss--[无]shell.sh.bash.csh.tcsh.ksh.zsh.fish;第一行匹配/^#!.*\b(?:ba|t?c|k|z|fi)?sh\b/--[no]smalltalk.st--[no]smarty.tpl--[无]sql.sql.ctl--[无]stylus.styl--[无]swift。迅速;第一行匹配/^#!.*\bswift/--[no]tcl.tcl.itcl.itk--[no]tex.tex.cls.sty--[no]ts.ts.tsx--[no]tt.tt.tt2.ttml--[no]vb.bas.cls.frm.ctl.vb.resx--[no]verilog.v.vh.sv--[no]vhdl.vhd。vhdl--[无]vim.vim--[无]xml.xml.dtd.xsd.xsl.xslt.ent.wsdl;第一行匹配/<[?]xml/--[no]yaml.yaml.yml获取包含CFLAG关键字的Makefile的文件名>ack--makeCFLAGack找到my.cnf文件>ack-f/etc/|ackmy.cnf//or>ack-gmy.cnf/etc/原链接:https://rumenz.com/rumenbiji/...微信公众号:入门
