下面的命令显示具有EXEC_EC的文件/目录
命令:
ls -ltr | grep 'EXEC_EC'通过使用上面的命令:我们可以编写一个find命令来过滤7天前创建的文件吗?
我试图列出名为EXEC_EC的文件,并试图查找7天以上的文件。
样本输出
example input:
dr-xr-xr-x 1 home abc 999 Jun 30 11:12 EXEC_EC_ABC_1
dr-xr-xr-x 1 home abc 999 Jul 25 12:44 EXEC_EC_ABC_2
dr-xr-xr-x 1 home abc 999 Aug 1 22:10 EXEC_EC_ABC_3
dr-xr-xr-x 1 home abc 999 Aug 2 22:20 Number
dr-xr-xr-x 1 home abc 999 Aug 2 22:20 Number2
i am trying to get below output
EXEC_EC_ABC_1
EXEC_EC_ABC_2发布于 2020-08-02 18:27:36
无论如何,如果您使用grep,那么使用find进行过滤是没有意义的。
find . -mindepth 1 -maxdepth 1 -name '*EXEC_EC*' -mtime +7默认情况下,find遍历整个子树(即所有子目录的内容)。-mindepth 1 -maxdepth 1可以防止这种情况,因为该示例仅适用于单个目录的内容。-mindepth 1使find忽略目录参数(在本例中,.不是必需的,而是一般情况下的)。-maxdepth 1防止下降到子目录。
发布于 2020-08-02 18:28:06
这就是你要找的?
$ find . -name '*EXEC_EC*' -mtime +7 -print。=表示当前目录,可以将其替换为目录路径。
-mtime -表示文件修改时间,用于查找7天以上的文件。
发布于 2020-08-02 18:23:34
您不需要将ls的输出输送到grep。Grep有一个内置的选项。
grep -rle 'EXEC_EC'-l将只列出文件,-r递归意味着从当前路径-e开始的所有文件都将在这个grep将您的模式期望为字符串之后遍历。
https://unix.stackexchange.com/questions/602532
复制相似问题