在 Linux 中,Bash 支持 negation syntax in glob pattern例如 [!abc]
表示除 a
、b
和 c
之外的一个字符。
我正在尝试在 PowerShell 中找到类似的东西。
在 Supporting Wildcard Characters in Cmdlet Parameters ,没有与否定相关的描述。另外,当 test.txt
存在时,我确认了以下内容,这表明不支持 !
作为 Bash 等否定语法。
ls tes[!s].txt
不返回任何内容。ls tes[!t].txt
返回test.txt
PowerShell 是否支持 glob 模式中的否定语法?如果没有,您能分享一些替代方案吗?
最佳答案
不,它没有(正如您从没有记录或工作的此类功能中正确推断出的那样)。
另一种选择是正则表达式,但您必须自己进行过滤,然后:
Get-ChildItem | Where-Object Name -match '^tes[^t]\.txt$'
关于powershell - PowerShell 是否支持 glob 模式中的否定语法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47638612/