bash中不区分大小写的文件名搜索和检索



我想获得github repos的自述文件以供进一步处理。问题是文件名可能有不同的大小写,如readme.mdReadme.mdREADME.md等。

我想找到自述文件的变体,并在shell变量中检索该文件名以供进一步处理。此外,我希望这个脚本能在Ubuntu和mac上运行。

从前面的问题中,我发现我可以使用find

find -ipath 'readme.md'

但这在mac上不起作用。

使用-iname选项:

find . -iname readme.md
#    ^

UPDATE您需要传递path(上面命令中的.)。


根据find(1) Mac OSX手册页面:

-iname pattern
        Like -name, but the match is case insensitive.

您可以使用bash的"nocaseglob",如下所示:

shopt -s nocaseglob

以下是它的工作方式示例:

shopt -s nocaseglob 
echo hi > ReAdMe 
more README
hi
more readme
hi
more rEaD*
hi

最新更新