ack命令介绍

ack简介

grep命令的功能太简单?
grep只能用glob语法选择文件?
你需要的是ack命令
号称代替99%的grep使用场景的命令

特色

  • ack自动决定被检索的文件
    • 自动决定文件
      • 可以通过-f选项来看ack将使用哪些文件)
      • 使用-G搭配regex来选择搜索的文件
      • 使用–ignore-dir=来配置不搜索的路径
    • 默认搜索子文件夹
      • 需要使用-n选项关闭
  • ack有自己的美化
    • 可以配置颜色以更加醒目
      • 选项–color-filename可以配置文件名的名字
      • 还有–color-match
      • 还有–color-lineno
    • 自动决定是否将同一个文件中的匹配结果放在一起显示
      • 直接输出时on
      • 输出被重定向后off
  • ack集合了部分其他功能
    • 选项–line=1,3,5等可以用于显示文件的具体某一行,类似sed的功能

怀旧

作为grep的继任者,ack保留了部分grep的选项

  • i
  • v
  • R(尽管ack默认开启)
  • o
  • l(仅显示文件名)

配置文件

ack的选项众多,需要有一个保存的位置
默认检索${HOME}/.ackrc
使用–noenv选项以不使用配置文件

那百分之一

在使用正则表达式检索大文件时grep更快