Bash

如何在文件名中查找多個不連續的字母

  • November 20, 2018

我有一個目錄,其中包含名為 hello、help、helol、llala、lalala、hi 的文件。我需要能夠僅列出名稱中至少有 2 個 l 的文件,並且這些 l 不能是連續的(除非還有另一個 l 不是連續的)。因此,只應列出 helol、llala 和 lalala。

使用全域模式:

*l[^l]*l*
  • [^l]匹配任何字元,除了l
  • *匹配零個或多個字元
  • l匹配文字l

例子:

$ ls
hello  helol  help  hi  lalala  llala

$ ls *l[^l]*l*
helol  lalala  llala

引用自:https://unix.stackexchange.com/questions/313699