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

时间:2013-12-14 08:23:04

标签: bash shell unix find sh

我想抓住github repos的自述文件进行进一步处理。问题是文件名可能有不同的情况,如readme.mdReadme.mdREADME.md等。

我想找到自述文件的哪个变体,并在shell变量中检索该文件名以便进一步处理。此外,我希望此脚本在Ubuntu和mac中都能正常工作。

previous question,我发现我可以使用find

find -ipath 'readme.md'

但这在mac中不起作用。

2 个答案:

答案 0 :(得分:4)

使用-iname选项:

find . -iname readme.md
#    ^

更新您需要在上述命令中传递path.)。


根据find(1) Mac OSX Manual Page

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

答案 1 :(得分:0)

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

shopt -s nocaseglob

以下是其工作原理的示例:

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