首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在ls输出的顶部使用find命令

如何在ls输出的顶部使用find命令
EN

Unix & Linux用户
提问于 2020-08-02 18:11:20
回答 3查看 897关注 0票数 0

下面的命令显示具有EXEC_EC的文件/目录

命令:

代码语言:javascript
复制
ls -ltr | grep 'EXEC_EC'

通过使用上面的命令:我们可以编写一个find命令来过滤7天前创建的文件吗?

我试图列出名为EXEC_EC的文件,并试图查找7天以上的文件。

样本输出

代码语言:javascript
复制
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
EN

回答 3

Unix & Linux用户

回答已采纳

发布于 2020-08-02 18:27:36

无论如何,如果您使用grep,那么使用find进行过滤是没有意义的。

代码语言:javascript
复制
find . -mindepth 1 -maxdepth 1 -name '*EXEC_EC*' -mtime +7

默认情况下,find遍历整个子树(即所有子目录的内容)。-mindepth 1 -maxdepth 1可以防止这种情况,因为该示例仅适用于单个目录的内容。-mindepth 1使find忽略目录参数(在本例中,.不是必需的,而是一般情况下的)。-maxdepth 1防止下降到子目录。

票数 2
EN

Unix & Linux用户

发布于 2020-08-02 18:28:06

这就是你要找的?

代码语言:javascript
复制
$ find . -name '*EXEC_EC*' -mtime +7 -print

。=表示当前目录,可以将其替换为目录路径。

-mtime -表示文件修改时间,用于查找7天以上的文件。

票数 0
EN

Unix & Linux用户

发布于 2020-08-02 18:23:34

您不需要将ls的输出输送到grep。Grep有一个内置的选项。

代码语言:javascript
复制
grep -rle 'EXEC_EC'

-l将只列出文件,-r递归意味着从当前路径-e开始的所有文件都将在这个grep将您的模式期望为字符串之后遍历。

票数 -2
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/602532

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档