使用Silver Searcher,我如何搜索:
带有单词或模式的AND
其他偏好:想要有大小写不敏感的搜索和搜索通过点文件。
尝试使用此别名,但没有太多运气:
alias search="ag -g $1 --smart-case --hidden && ag --smart-case --hidden $1"
发布于 2015-01-21 06:22:42
根据ag
的手册页
-G --file-search-regex PATTERN
Only search files whose names match PATTERN.
您可以使用-G
选项对与模式匹配的文件执行搜索。
所以,为了回答你的问题:
root@apache107:~/rpm-4.12.0.1# ag -G cpio.c size
rpm2cpio.c
21: off_t payload_size;
73: /* Retrieve payload size and compression type. */
76: payload_size = headerGetNumber(h, RPMTAG_LONGARCHIVESIZE);
上面的命令在匹配模式cpio.c
的所有文件中搜索单词size
参考资料:
ag
0.28.0版的手册页
注1:
如果你正在寻找某些文件类型的字符串,比如所有的C源代码,ag
中有一个undocumented feature可以帮助你快速地将搜索限制到特定的文件类型。
下面的两个命令都在所有的php文件中查找foo
:
find . -name \*.php -exec grep foo {}
ag --php foo
当find + grep
查找所有.php
文件时,ag
命令中的--php
开关实际上查找以下文件扩展名:
.php .phpt .php3 .php4 .php5 .phtml
您可以将--cpp
用于C++源文件,将--hh
用于.h
文件,将--js
用于JavaScript等。完整列表可在here中找到
发布于 2013-12-18 09:04:28
试试这个:
find . | ag "/.*SEARCHTERM[^/]*$"
命令find .
将列出所有文件。
我们通过管道将其输出到命令ag "/.*SEARCHTERM[^/]*$"
,如果文件名中有SEARCHTERM,则匹配SEARCHTERM,而不仅仅是完整路径。
发布于 2015-07-29 03:24:45
尝试将其添加到您的别名文件中。使用zsh进行了测试,但应该可以使用bash。您在示例中遇到的问题是bash别名不能接受参数,因此您必须首先定义一个使用参数的函数,然后将别名分配给该函数。
searchfunction() {
echo $(ag -g $1 --hidden)
echo $(ag --hidden -l $1)
}
alias search=searchfunction
您可以通过几种方式修改此示例以适应您的目的,例如
-l
标志编辑:根据Pablo Bianchi的评论删除不必要的--smart-case标志
https://stackoverflow.com/questions/18713316
复制相似问题