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

Linux 查找名称包含给定字符串的所有文件,并突出显示该字符串,linux,bash,grep,find,Linux,Bash,Grep,Find,我发现自己经常写这个命令: find-iname“*foo*”| fgrep-i“foo” 查找名称中包含“foo”的所有文件和文件夹,并在结果中突出显示匹配部分 那不太方便。什么是更简单的解决方案?是否需要为此编写自定义命令?为方便起见,您可以为此创建一个BASH函数: hlt() { find . -iname '*'"$1"'*' | grep --color "$1"; } 并称之为: hlt foo 如果您使用的是bash,请查看如何生成“自定义命令”,还请注意,grep with

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

find-iname“*foo*”| fgrep-i“foo”

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


那不太方便。什么是更简单的解决方案?是否需要为此编写自定义命令?

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

hlt() { find . -iname '*'"$1"'*' | grep --color "$1"; }
并称之为:

hlt foo

如果您使用的是bash,请查看如何生成“自定义命令”,还请注意,grep with-i是区分大小写的,而-iname则不是,因此您可能会遗漏一些大小写混合的选项。另一方面,fgrep应该比grep更快,并且可能更少地消耗资源:)

检查fprintf如何与find一起工作。找到-键入f(-perm+100-printf'\033[32m%p\033[0m\n'-或-print)如果我将
find.-iname'*'“$1”*'| grep--color“$1”;
放在bash脚本文件中,那么它不工作吗?它也应该在脚本中工作。您能显示完整的脚本吗?