linux系统查找文件内容最常见的命令有grep
和ag
grep
grep是比较常见的查找命令
# 在当前目录的py文件里查找所有相关内容
grep -a "broadcast" *.py
# 在当前目录及子目录里(递归)查找,最后一个参数可以换成指定目录
grep -r "broadcast" .
# 在指定目录及子目录里(递归)查找,不区分大小写
grep -r -i "broadcast" /src
ag
相比grep,ag命令更简洁,也更快,推荐使用ag
安装
ag命令需要安装
ubuntu13及以上直接使用apt命令安装
sudo apt-get install silversearcher-ag
如果安装失败,可以尝试源码安装
新建一个ag.sh脚本,写入以下内容
set -x
TEMP_DIR=$(mktemp -d Leslie.Guan.XXXXXX)
cd ${TEMP_DIR}
wget https://github.com/ggreer/the_silver_searcher/archive/master.zip
TAR_DIR=$(unzip *.zip)
TAR_DIR=${TAR_DIR%%/*}
TAR_DIR=${TAR_DIR##*:}
cd ${TAR_DIR}
apt-get install -y automake pkg-config libpcre3-dev zlib1g-dev liblzma-dev --force-yes
./build.sh && make install
cd ../../
rm -rf ${TEMP_DIR}
ag -V
set +x
赋予其执行权限
chmod 0711 ag.sh
执行脚本
./ag.sh
执行完之后查看ag版本
ag --version
如果显示版本说明安装成功
使用
ag的使用非常简单
# 查找当前目录及以下(递归)所有指定内容
ag "helloworld"