【发布时间】:2014-02-02 00:13:43
【问题描述】:
我有一个文件夹,其中包含子文件夹和更多文件。
文件按以下方式命名
abc.DEF.xxxxxx.dat
我正在尝试在上述模式中查找仅匹配“xxxxxx”的重复文件,而忽略其余文件。扩展名 .dat 不会改变。但是 abc 和 DEF 的长度可能会改变。按句点分隔的顺序也没有改变。
我猜我需要通过以下方式使用Find
find -regextype posix-extended -regex '\w+\.\w+\.\w+\.dat'
我需要有关正则表达式的帮助。谢谢。
示例: 对于名为“epg.ktt.crwqdd.dat”的文件,我需要找到包含“crwqdd”的重复文件。
【问题讨论】:
-
你试过
find -type f -iname 'abc.DEF.*.dat'吗? -
@hek2mgl 抱歉在这方面不够明确。 'abc' 和 'DEF' 值/长度发生变化。所以可以有一个像'epg.ktt.crwqdd.dat'这样的文件。在此示例中,我需要找到“crwqdd”的重复项。谢谢。
-
还有
find -type f -iname '*.*.crwqdd.dat'? -
@hek2mgl 这仅适用于查找 crwqdd 的重复项。但是可能存在包含不同字符串的文件名,而不是可以匹配的 crwqdd。所以我别无选择,只能使用正则表达式。
标签: regex linux shell find duplicates