我了解使用[^a]*
之类的内容会输出所有不以"a"
开头的文件。
如果我想回显包含至少5个不以"abc"
开头的字符的文件(但文件名中间可以包含"abc"
),我应该这样做吗?
我有
echo [^abc]?????*
但输出也删除了"123abc"
这样的文件,我不太明白。
答案 0 :(得分:3)
您没有指出您的问题适用于哪个操作系统,但在Mac OS X或Linux上确定匹配文件集的一种方法是:
find . -maxdepth 1 -type f -name "?????*" | egrep -v "./abc"
请注意,这将仅列出当前目录中的文件。如果要在子目录中包含文件,则需要删除 maxdepth 参数。
另请注意,这些命令区分大小写。您需要使用 -iname 和 -i 来使它们不区分大小写。
编辑:
如果您确实需要使用 echo 命令,则以下内容将起作用:
echo `find . -maxdepth 1 -type f -name "?????*" | egrep -v "./abc"`