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

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

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

最佳答案

ZSH:

$ unsetopt CASE_GLOB

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

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

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

更新 差点忘记了,你必须启用extendend globbing才能让它工作:

setopt extendedglob

https://stackoverflow.com/questions/156916/

相关文章:

windows - Node.js 开发,windows 还是 linux?

linux - 如何在非阻塞套接字上处理 OpenSSL SSL_ERROR_WANT_READ/W

python - 如何在 Python 中监听 Linux 中的 'usb device inser

c++ - 如何在 Linux 中找到 'temp' 目录?

linux - 如何让 GNU screen 读取 .bash_profile/.bash_rc 更

linux - 如何在 Linux 命令行上解析 CSV 文件?

linux - 如何在 Linux 上传递带感叹号的参数?

linux - 查找匹配的文本并替换下一行

linux - 是否有一个 linux 命令来确定与给定进程 ID 关联的窗口 ID?

linux - 如果关键字触发然后执行命令,Shell 脚本来监视日志文件?