假设我有一个包含文件a1,a2,a3,b1,b2,b3的目录.我只想匹配以a开头但不包含3的文件.我试过ls -I“* 3”* a *但它返回a1 a2 a3,即使我不希望它匹配a3.这可能与ls有关吗?
解决方法:
只是:
shopt -s extglob
ls a!(*3*)
> shopt -s extglob激活扩展的globbing.
> a匹配起始a
>!()否定()中的匹配…
> * 3 *即3和之前或之后的任何内容.
$touch 1 2 3 a1 a2 a3 b1 b2 b3 aa1 aa2 aa3 a2a a3a
$ls a!(*3*)
a1 a2 a2a aa1 aa2