当前位置:  开发笔记 > 编程语言 > 正文

zsh/bash上不区分大小写的Glob

如何解决《zsh/bash上不区分大小写的Glob》经验,为你挑选了3个好方法。

我需要列出名称以'SomeLongString'开头的所有文件.但'SomeLongString'的情况可能会有所不同.怎么样?

我正在使用zsh,但也欢迎使用bash解决方案.



1> Jacek Szymań..:

庆典:

shopt -s nocaseglob



2> jkramer..:

ZSH:

$ unsetopt CASE_GLOB

或者,如果您不想一般地启用不区分大小写的通配符,则可以仅为不同的部分激活它:

$ print -l (#i)(somelongstring)*

这将匹配任何以"somelongstring"开头的文件(以大写/小写的任意组合).不区分大小写的标志适用于括号之间的所有内容,并且可以多次使用.阅读手册zshexpn(1)以获取更多信息.

更新 几乎忘了,你必须启用extendend globbing才能工作:

setopt extendedglob


顺便说一下,我必须设置EXTENDED_GLOB才能工作.

3> Horst Gutman..:

根据您希望拥有此列表的深度,find在这方面提供了很多:

find . -iname 'SomeLongString*' -maxdepth 1

这只会为您提供当前目录中的文件.这里重要的是-iname参数而不是-name.

推荐阅读
LEEstarmmmmm
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有