我需要找到符合特定条件的所有文件并删除它们 - 这是一个片段:
/var/www/somesite/releases/{many directories}/tmp/attachment_fu
Run Code Online (Sandbox Code Playgroud)
我想在任何tmp/attachment_fu目录中找到所有文件并删除它们 - 问题是这{many directories}正在抛弃我的find技能(或者可能find是错误的命令 - 我也尝试过locate无济于事)。
我敢肯定这是一个古老的问题,答案很简单,但我已经尝试了我知道的所有组合,但都没有想出任何办法。搜索谷歌并不愉快,因为搜索这个主题会提供数百种“使用日期命令查找昨天的日期”的方法。
无论如何,我正在尝试使用 find 来选择昨天修改过的文件列表。目标是从目录中选择昨天的日志文件来对它们做一些特定的事情。该目录包含多天的日志输出。
我能得到的最好的结果是找到返回昨天的文件,同时列出今天的文件。我不想看到今天的文件——就在昨天。
我还将提出问题:这是 AIX 发现,而不是您在大多数 Linux 发行版中发现的 GNU 发现。所以-daystart对我来说不是一个选择。(已经想到那个了!)
有人知道在 AIX 上使用 find 列出昨天文件的有效方法吗?
如
find -L /etc/ssl/certs/ -type l -exec rm {} +
Run Code Online (Sandbox Code Playgroud)
所以它会找到所有损坏的符号链接并删除它们。但我究竟如何解释这{} +部分?
我正在尝试查找所有 777 的 Web 文件夹。但我只想要顶级文件夹的列表。
因此,如果有一个 img 目录,其中的文件夹也是 777,我不希望它们返回。
基本上,我正在寻找一种在找到 777 的文件夹后找到停止下降的方法。
find /var/www/vhosts/ -type d -perm 777
Run Code Online (Sandbox Code Playgroud)
给我
/var/www/vhosts/example.com/httpdocs/img
/var/www/vhosts/example.com/httpdocs/img/gbl
/var/www/vhosts/example.com/httpdocs/img/ss
Run Code Online (Sandbox Code Playgroud)
我想要的只是第一个
/var/www/vhosts/example.com/httpdocs/img
Run Code Online (Sandbox Code Playgroud) 我想使用 GNU find 命令在某个目录中“列出”所有未打开的文件。现在,我可以列出打开的文件,但无法找到相反的方法。
find /my/dir/* -exec lsof {} \;
Run Code Online (Sandbox Code Playgroud)
任何想法如何做到这一点?
我正在尝试通过以下方式合并我的 CSS 文件:
find /Applications/MAMP/htdocs/css/ -type f -name "*.css" -exec cat {} + > ./temporary/css_backend_merged.css
这很好用,但我只想包含以特定前缀开头的文件,例如“include_”。有谁知道如何调整 find 命令来做到这一点?
非常感谢!
我有相当复杂的目录树。有许多子目录,在其他文件和目录旁边的这些子目录中是“.svn”目录。
现在,在 linux 下,我想删除除.svn 目录之外的所有文件和目录。
我找到了许多关于相反行为的解决方案 - 删除树中的所有 .svn 目录。有人可以引用我删除除 .svn 之外的所有内容的正确答案吗?
我在文件系统中有一些以斜杠结尾的文件,如下所示:
my_text_file_1.txt\
some_other_file_2.pl\
Run Code Online (Sandbox Code Playgroud)
我通常在这些情况下使用find,但以下方法不起作用:
find . -name "*\\"
Run Code Online (Sandbox Code Playgroud)
有人有任何想法吗?谢谢
find . -name "*.[hc]|*.cc"
Run Code Online (Sandbox Code Playgroud)
上面的不起作用,为什么?
更新
如何找到具有单一模式的这 3 种文件?
我有一个包含许多文件的文件夹。我想删除超过 30 天的文件,所以我使用以下命令:
find cache/ -mtime +30 -exec rm {} \;
Run Code Online (Sandbox Code Playgroud)
但是我的 SSH 会话在命令完成之前断开连接。
如何限制一次删除的文件数量?例如:
find cache/ -mtime +30 -LIMIT 10000 -exec rm {} \;
Run Code Online (Sandbox Code Playgroud)