说我在dir中有一个文件列表,如下所示:
blackneasy-sq.png
dima-sq.png
envoy-sq.png
fox-sq.png
freeze-sq.png
ministarstvo kulture-sq.png
naxi-sq.png
pick-sq.png
pink-sq.png
wink-sq.png
brick-sq.png
rider-sq.png
sixt-rent-a-car.png
slavija hotel-sq.png
temet-sq.png
tepe-sq.png
如何指定排除模式以显示除那些之外的所有文件
包含ck
个字符在文件名中的任何位置粘在一起吗?
所以在结果列表中,文件:
blackneasy-sq.png
pick-sq.png
brick-sq.png
不应该显示。
我试了这个没有成功。
print -l [[:alpha:]]*^ck*.*
答案 0 :(得分:2)
使用~
运算符:THIS~THAT
匹配与模式THIS
匹配但不匹配THAT
的文件。这需要extended_glob
选项(在某些上下文中自动打开,例如完成功能,但不是默认状态)。
print -l -- *.png~*ck*
您可以将*~THAT
缩写为^THAT
(也需要extended_glob
),因此如果您不想限制为.png
个文件,则可以使用< / p>
print -l -- ^*ck*