命令行的全文搜索工具--ack
想必大家在命令行环境下工作时候,一定有想要查找当前目录下的源代码文件中的某些字符的需求,这时候如果使用传统方案,你可能需要输入一长串的命令,比如这样:
1. grep -R 'string' dir/ 或者 grep -r -e string directory
2. grep -rnw 'directory' -e "pattern"
3. grep --include=\*.{c,h} -rnw 'directory' -e "pattern"
4. grep --exclude=*.o -rnw 'directory' -e "pattern"
5. grep --exclude-dir={dir1,dir2,*.dst} -rnw 'directory' -e "pattern"
6. find dir/ -type f -exec grep -H 'string' {} +
或者更复杂的情况你可能需要管道与awk组合。
这里推荐一个命令行下的全文搜索工具:ack,非常方便地查找搜索,还支持高亮和文件行数定位。示例图如下:

安装方法:
Macports
Port "perl/p5-app-ack"
Homebrew on Mac
Formula "ack"
FreeBSD port
Port "textproc/p5-ack"
OpenBSD port
Package "p5-ack"
Debian
Package "ack-grep"
(To rename the "ack-grep" program to its proper name "ack", see the section below on renaming ack-grep)
Ubuntu
Package "ack-grep"
Fedora
Package "ack"
Gentoo
Package "sys-apps/ack"
Sabayon
Package "sys-apps/ack"
Arch
Package "community/ack"
Chocolatey for Windows
http://chocolatey.org/packages/ack
NixOS
Package "perl-ack"
参考链接:
0. ack 官网: http://beyondgrep.com/
1. find a text in all files in a dir : http://stackoverflow.com/questions/16956810/finding-all-files-containing-a-text-string-on-linux
2. how to grep a string in a dir: http://stackoverflow.com/questions/15622328/how-to-grep-a-string-in-a-directory-and-all-its-subdirectories-files-in-linux
3. linux 利器: http://coolshell.cn/articles/7829.html
命令行的全文搜索工具--ack的更多相关文章
- bdtrans 一个命令行下的机器翻译工具
现如今,机器翻译技术已经越来越成熟了,尽管从整体来看机器翻译的结果还不是特别如意,但是也足以应付一般的翻译需求了.近几年机器翻译平台层出不穷,国外比较出名的翻译平台有Google翻译.必应翻译等,国内 ...
- 转: ImageMagick 命令行的图片处理工具(客户端与服务器均可用)
http://www.imagemagick.com.cn/ 关于ImageMagick ImageMagick (TM) 是一个免费的创建.编辑.合成图片的软件.它可以读取.转换.写入多种格式的图片 ...
- linux命令行todo列表管理工具Taskwarrior介绍
Taskwarrior 是一款在命令行下使用的TODO列表管理工具,或者说任务管理工具,灵活,快速,高效. 安装 在ubuntu 14.04 中,可从官方仓库安装task软件包 sudo apt-ge ...
- MySQL命令大全:MySQL常用命令手册、MySQL命令行大全、查询工具
1.连接Mysql 格式: mysql -h主机地址 -u用户名 -p用户密码 1.连接到本机上的MYSQL.首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root ...
- Scoop Windows 的命令行安装程序管理工具
传送门: # 官网 http://scoop.sh/ # github https://github.com/lukesampson/scoop window中快速安装: 必须使用powershell ...
- 项目之solr全文搜索工具的安装
1. Solr简介 Solr是一个基于Lucene的Java搜索引擎服务器.Solr 提供了层面搜索.命中醒目显示并且支持多种输出格式(包括 XML/XSLT 和 JSON 格式).它易于安装和配置, ...
- 项目之solr全文搜索工具之创建项目索引库
以创建项目baotao core为例 1. 在example目录下创建baotao-solr文件夹: 2. 将./solr下的solr.xml拷贝到baotao-solr目录下: 3. 在bao ...
- Linux下七牛云存储qrsync命令行上传同步工具
原址:https://m.aliyun.com/yunqi/ziliao/54370 VPS数据备份是一个重要的工作,之前在文章:使用七牛云存储自动备份VPS数据分享过使用七牛云存储提供的工具QRSB ...
- 28 个必备的 Linux 命令行工具
dstat & sar iostat, vmstat, ifstat and much more in one. slurm 网络流量图形化工具 vim & emacs 这个没人不知道 ...
随机推荐
- sql2008日志文件截断
日志文件比较大时,使用语句减少大小. USE DATABASENAME;GO-- Truncate the log by changing the database recovery model to ...
- Linux WAS7 启动异常
启动server1异常,信息如下: [root@cmiecmceprd02 bin]# ./startServer.sh server1ADMU0116I: Tool information is b ...
- JAVA面试精选【Java基础第一部分】
这个系列面试题主要目的是帮助你拿轻松到offer,同时还能开个好价钱.只要能够搞明白这个系列的绝大多数题目,在面试过程中,你就能轻轻松松的把面试官给忽悠了.对于那些正打算找工作JAVA软件开发工作的童 ...
- python 守护进程 daemon
python 守护进程 daemon # -*-coding:utf-8-*- import sys, os '''将当前进程fork为一个守护进程 注意:如果你的守护进程是由inetd启动的,不要这 ...
- Atitit. 异常的使用总结最佳实践java .net php Vo8f
Atitit.java 异常的使用总结最佳实践 Vo8f 1. 为什么使用异常 1 2. 用throw抛出一个异常到catch子句中与通过函数调用传递一个参数两者基本相同. 2 3. S E H的主要 ...
- atitit.压缩算法 ZLib ,gzip ,zip 最佳实践 java .net php
atitit.压缩算法 ZLib ,gzip ,zip 最佳实践 java .net php 1. 压缩算法的归类::: 纯算法,带归档算法 1 2. zlib(适合字符串压缩) 1 3. gz ...
- paip.微信菜单直接跳转url和获取openid流程总结
paip.微信菜单直接跳转url和获取openid流程总结 #------不能直接跳转,贝儿提示不安全的链接.. #-------使用auth跳转. //todox 直接转到.. direct ...
- SSL在https和MySQL中的原理思考
之前对HTTPS通信过程有过了解,HTTPS是应用HTTP协议使用SSL加密的版本,在TCP和HTTP之间增加SSL协议.通过握手阶段认证双方身份,协商对称秘钥对通信信息进行加密.此处只描述常用的服务 ...
- asp.net的JSON数据进行序列化和反序列化
先要引用在程序集 System.Web.Extensions.dll 的类库,在类中 using System.Web.Script.Serialization 命名空间. 1.定义一个强类型的类(m ...
- springmvc中@PathVariable和@RequestParam的区别
顾名思义, @PathVariable和@RequestParam,分别是从路径里面去获取变量,也就是把路径当做变量,后者是从请求里面获取参数. 我的url; http://localhost:808 ...