find
有没有类似于ag
and 的替代方案ack
?
我真的厌倦了必须输入:
find some/app -iname "some_file*"
我宁愿只是输入:
find "some_file*"
并让它搜索当前文件夹并在所有子文件夹中递归搜索。
答案1
这就是函数或脚本的用途。例如
myfind() {
search="$1"
shift
find . -iname "$search" "$@"
}
"$@"
如果需要,最后还允许您指定其他查找选项。但请注意,find
某些选项的顺序非常挑剔,某些选项只有在路径之前才有效(.
在本例中)。
有些人会find
抱怨他们在一场没有选择的争论之后。
例如find . -iname "*.txt" -maxdepth 1
引起以下抱怨:
find: 警告:您在非选项参数 -iname 之后指定了 -maxdepth 选项,但选项不是位置性的(-maxdepth 影响在其之前指定的测试以及在其之后指定的测试)。请在其他参数之前指定选项。
AFAIK,没有选项可以关闭这些警告......或者如果有的话,它不会被称为--quiet
或--silent
。
无论如何,将上面的函数保存在文本文件中,例如myfind.txt
.然后使用以下命令获取它:
. myfind.txt
。
如果您希望在每次登录时定义它,请将函数定义添加到您的~/.profile
或~/.bash_profile
,或来自myfind.txt
它们的源。
这假设您使用的是 Bourne shell,例如sh
或bash
。请注意,某些版本可能需要在前面sh
加上关键字- 例如。如果您正在使用or ,那么...好吧...不要,切换到 Bourne shell。function
myfind
function myfind() { ... }
csh
tcsh