我需要列出名称以jre
(允许小写和大写字母)开头的文件和目录。
当我执行:
ls | grep jre
...它只 grep 低位大写字母,并且输出的jre
不仅仅是起始位置。实际上,我觉得 grep 在这种情况下根本不是一个好的选择。
如何解决我的问题?
答案1
你可以使用find
。对于你的情况,你可以运行
find -maxdepth 1 -iname 'jre*'
解释:
find
使用给定的参数搜索文件/目录:-maxdepth 1
将搜索限制在当前目录中。否则,它也会搜索所有子目录。-iname
采用模式并搜索不区分大小写。模式本身'jre*'
意味着字符串应以“jre”开头,并以任意数量的字符继续。
或者,如果您想使用grep
:
ls | grep -i '^jre'
-i
切换不区分大小写的搜索,^
结果仅匹配以“jre”开头的匹配项
答案2
查找应该可以解决问题:
find . -iname 'jre*'