查找名称包含给定字符串的所有文件,并突出显示它

Find all files whose names contain a given string, and highlight it

我发现自己经常写这条命令:

find . -iname "*foo*" | fgrep -i "foo"

查找名称中包含 "foo" 的所有文件和文件夹,并在结果中突出显示匹配部分。

这不是很方便。什么是更简单的解决方案?我需要为此编写自定义命令吗?

为方便起见,您可以为此创建一个 BASH 函数:

hlt() { find . -iname '*'""'*' | grep --color ""; }

并将其命名为:

hlt foo

如果您正在使用 bash,请查看 Make a Bash alias that takes a parameter? 了解如何制作 "custom command" 另请注意,不带 -i 的 grep 区分大小写,而 -iname 则不区分大小写可能缺少一些混合案例亮点。旁注 fgrep 应该比 grep 更快,而且可能占用更少的资源 :)