0

我有多级目录结构,我想列出所有目录(png、jpeg 文件),除了文件,比如 sam.png、pam.jpeg 等来自任何目录

最终,我想将所有文件列为

a/b/c/d*.jpg (inlude all jpg, but I want to exclude sam.png from a/b/c/d directory)

a/b/c/d*.jpeg

a/b/c/d*.png

a/e/f/k/h/*.png

...等等

我怎么做?

4

2 回答 2

3

使用以下regex-

.(jpg|jpeg|gif|png)$(?<!sam.png|pam.jpeg)

这使用了负面的目光

于 2012-10-23T13:57:21.040 回答
0

我不完全确定你的问题的背景。

但是,您可以使用find .列表和目录下的文件(递归)。

使用egrep正则表达式过滤结果。

然后用于egrep -v以否定方式过滤(如果它不匹配停留)。

所以我想这样的事情可能会完成这项工作:

find . | egrep "*.(jpg|png)$" | egrep -v "*.(sam.png)"
于 2012-10-23T12:39:30.187 回答