代码之家  ›  专栏  ›  技术社区  ›  l0b0

安全地查找与模式和文字匹配的文件

  •  0
  • l0b0  · 技术社区  · 14 年前

    给定一个类似“prefix.extension”的文件名,我希望找到该模式的所有文件 prefix\.\d\d\.extension . 假设'prefix'或'extension'可以包含像 .* , \n 诸如此类,我能想到的唯一正确的方法是转义“prefix”和“extension”中的所有字符,将它们放在前面和后面 \.\d\d\. ,和 egrep -正在使用它。有没有更优雅的方法来完成这个任务和/或一些简单的方法来逃避 白鹭 在剧本里?

    注意,在每个字符前面加一个反斜杠会改变一些字符的语义,比如 \w .

    1 回复  |  直到 14 年前
        1
  •  0
  •   l0b0    14 年前

    结果是 grep --perl-regexp 具有 \Q and \E 我需要的是:

    ls -1N -- "${source_dir}" | grep -P "^\Q${source_base}.\E\d\{${fragment_digits}\}\Q.${source_extensions}\E\$"