查找的速记替代方案

查找的速记替代方案

find有没有类似于agand 的替代方案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,例如shbash。请注意,某些版本可能需要在前面sh加上关键字- 例如。如果您正在使用or ,那么...好吧...不要,切换到 Bourne shell。functionmyfindfunction myfind() { ... }cshtcsh

相关内容