查找7天以上的文件,并在文件名的第三个字符中包含单词“ t”

问题描述 投票:1回答:2

[我正在尝试找出如何查找所有早于7天并且包含字母“ t”作为(文件名的第三个字符)的文件。

我只找出如何查找7天以上的文件:

find /home -mtime +7 -print
linux shell find command
2个回答
2
投票

要限制在第三位置带有“ t”的文件名,例如“ 25t.txt”或“ data-19.doc”,请添加此子句:

-name "??t*"

到命令。 -name仅查找基本名称,即删除了路径。


1
投票

您需要使用正则表达式来专门化您的发现:

find /home -mtime +7 -regextype posix-extended -regex '^.*\/.{2}T.*' -print

命令说明:您添加了一个正则表达式,该表达式将对“ /”字符之前的第一个N字符以及在“ /”字符之后的第三个字符“ T”处的所有N个字符的查找结果进行过滤。您需要正则表达式的第一部分(^.*\/),因为find会使用全路径返回结果,因此格式为“ ./ dir / dir1 / filename.extension”] >>。常规压缩的最后一部分是过滤所有带有扩展名的文件。

注释:您可以用所需的字符替换“ T”。

© www.soinside.com 2019 - 2024. All rights reserved.