使用通配符列出两个目录中的内容

使用通配符列出两个目录中的内容

我有一个任务列出所有文件/bin/usr/bin其中包含e既不在开头也不在结尾的文件。
通配符确实[!e]*e*[!e]有效。 (测试命令cd /bin & ls -l [!e]*e*[!e]

问题是我必须打印的内容两个目录使用此通配符命令。我怎么做?

答案1

你可以将其归结为一个命令一个(类型化)参数:

ls -d {/usr,}/bin/[^e]*e*[^e]

我添加了-d以防有子目录与模式匹配的情况。这将分阶段扩展到:

  1. /usr/bin/[^e]*e*[^e]
  2. /bin/[^e]*e*[^e]

展开大括号后。

需要[^e]除 之外的其他内容e,后跟*任何内容,后跟e,后跟*任何内容,后跟另一个非e(隐式后跟任何内容 - 表示文件名的结尾)。

相关内容