除了 ksh。是否有可能在没有任何痛苦的情况下做到这一点(正则表达式)?
有3种主要实现 ksh
ksh)的原始版本,有两个主要分支:ksh88和ksh93(以及ksh93许多版本,每个版本都添加了新功能)。pdksh,公共领域版本(免费重新实现ksh88,它主要兼容),这是sh在某些 BSD 上构建的基础,例如 MirOS 或 OpenBSD(因此mksh和oksh)。zsh实施。当调用 as 时ksh,zsh模拟ksh88具有ksh93as 的许多功能(以及一些差异)的行为。与ksh93:
print -r -- *.~(i:txt)
Run Code Online (Sandbox Code Playgroud)
或者
print -r -- ~(i)*.txt
Run Code Online (Sandbox Code Playgroud)
与ksh88或pdksh及其衍生物,例如mksh:
print -r -- *.[tT][xX][tT]
Run Code Online (Sandbox Code Playgroud)
随着 zsh 的实现ksh:
setopt nocaseglob
print -r -- *.txt
Run Code Online (Sandbox Code Playgroud)
或者
setopt extended_glob
print -r -- (#i)*.txt
Run Code Online (Sandbox Code Playgroud)