文章目录

参考

​https://github.com/ggreer/the_silver_searcher​

安装

yum install epel-release.noarch the_silver_searcher -y

常见操作

  • ag printf
  Find matches for "printf" in the current directory.
  • ag foo /bar/
  Find matches for "foo" in path /bar/.
  • ag – --foo
Find matches for "--foo" in the current directory. (As with most UNIX command line utilities, "--" is used to signify that the remaining arguments should not be treated as options.)
  • ag -G cpio.c size
在所有文件名为 *cpio.c* 的文件中搜索字串 size.        (-G --file-search-regex PATTERN,       Only search files whose names match PATTERN. 帮助中出现PATTERN项就代表必须使用正则式)
  • ag -G cpio.c -w size
  在所有文件名为 *cpio.c* 的文件中搜索单词 size. 
  • ag readme$
  正则式搜索 readme$
  • ag .rb files/
  在files目录搜索含  .rb  的字串  (所有的 arb,   crb  等等)
  • ag -Q .rb files/
  在files目录搜索含  .rb  的字串  (只匹配 .rb,相当于正则式的  \.rb)
  • ag DHH -l
  搜索含有单词 DHH 的所有文件,且只打印处文件名
  • ag readme -l -G action
  在所有文件名为 *action* 的文件中搜索字串 readme,且只打印处文件名
  • ag readme -l -G action$
  在所有文件名为 *action 的文件中搜索字串 readme,且只打印处文件名
  • ps -e | ag forego
  通过管道使用 ag
  • –php
  只搜索php文件
  • ​ag readme -l -G action$ --pager "less -R"​
在所有文件名为 *action 的文件中搜索字串 readme,且只打印处文件名,使用 less来分页。(alias ag="ag $* --pager 'less -R'",这个可以一劳永逸)**加粗样式**
  • -B2
匹配当前行与前两行
  • -A2
匹配当前行与后两行
  • -C2
匹配当前行以及前后2行
  • -w
以word为单位进行匹配
  • -U
忽略版本控制相关隐藏文件:比如 .gitignore .hgignore