如何在 Unix 中进行模式匹配?我不明白如何对以“->”结尾的文件夹或文件进行模式匹配
编辑:我正在尝试使用 FastCopy 执行模式匹配。我只想复制某些文件,而不是全部。
答案1
您指的是正则表达式(regex)模式匹配吗?
如果是这样,下面应该可以解决问题:
C:\\filename\.txt(\\|)\s->
要匹配,正->
则表达式匹配不需要任何特殊操作,可以按原样使用右括号。这还将匹配带或不带尾部反斜杠的文件名。
Regexr.com是一个非常有用的网站,你可以在这里尝试使用正则表达式。它会为你解释表达式的每个部分,以帮助你学习。
如果您能说明您尝试匹配的程序/实用程序,也会有所帮助。有些程序使用正则表达式的不同变体,语法或功能略有不同。
编辑:
根据 FastCopy 的文档,特别是关于模式匹配过滤,它仅支持一些类似正则表达式的语法。
它解释说,如果在过滤表达式中间发现反斜杠,它会将其视为路径分隔符。如果表达式的最末尾有一个反斜杠,则表示目录匹配。
不过,为了匹配,->
您应该能够直接在过滤器中使用这些字符。FastCopy 也不将句点视为特殊字符。
以下两个过滤表达式仅匹配文件在文件名末尾包含->
。由于没有尾随反斜杠,因此它们不会匹配目录。我认为您不需要指定驱动器号,但如果需要,则只需C:\
在开头添加 。
filename.txt ->
和
filename.txt\ ->