![zsh模式匹配:只匹配由指定字符组成的文件名](https://linux22.com/image/134623/zsh%E6%A8%A1%E5%BC%8F%E5%8C%B9%E9%85%8D%EF%BC%9A%E5%8F%AA%E5%8C%B9%E9%85%8D%E7%94%B1%E6%8C%87%E5%AE%9A%E5%AD%97%E7%AC%A6%E7%BB%84%E6%88%90%E7%9A%84%E6%96%87%E4%BB%B6%E5%90%8D.png)
我可以打印以字母字符开头的文件:
$ print -l [[:alpha:]]*
但如何打印仅由字母字符组成的文件名?
即,aaa
应该打印,但aaa.txt
不应该
答案1
这不是一个正则表达式,它是一个 glob,所以你需要使用 zsh全局运算符。要重复模式零次或多次,请使用#
(需要EXTENDED_GLOB
设置):
print -l [[:alpha:]]#
我可以打印以字母字符开头的文件:
$ print -l [[:alpha:]]*
但如何打印仅由字母字符组成的文件名?
即,aaa
应该打印,但aaa.txt
不应该
这不是一个正则表达式,它是一个 glob,所以你需要使用 zsh全局运算符。要重复模式零次或多次,请使用#
(需要EXTENDED_GLOB
设置):
print -l [[:alpha:]]#