问题标签 [gnu-findutils]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
1233 浏览

linux - 查找每个子目录和进程文件的名称

假设/tmp有子目录/test1,,等等,每个里面都有多个文件/test2/test3

我必须运行一个while循环或for循环来查找目录的名称(在本例/test1中为 , /test2, ...)并运行一个命令来处理每个目录中的所有文件。

因此,例如,我必须获取目录名称,其下/tmp将是test1, test2, ... 对于每个子目录,我必须处理其中的文件。

我怎样才能做到这一点?


澄清:

这是我要运行的命令:

where是要处理的一个140725_D0子目录的示例- 有多个,具有不同的名称。

因此,通过使用fororwhile循环,我想找到所有子目录并对每个子目录中的文件运行命令。

fororwhile循环应该迭代地替换上面 find 命令中的硬编码名称140725_D0

0 投票
1 回答
304 浏览

shell - 从查找结果中删除路径前缀

最简单的,如果我执行

find . -type f -exec cp {} /new/path/{}

展开的路径是/new/path/./path/to/file。在我在 exec 中使用 {} 之前,我想删除以 find 命令为前缀的 ./ 。

我正在使用内置的 Freebsd find,但如果有帮助的话,我确实可以访问 gnufi​​nd(尽管我通常不使用 gnufi​​nd)。

0 投票
2 回答
232 浏览

linux - 如何忽略通过完整路径查找中的目录

我想编写一个函数来查找我当前所在的当前目录中的文件。问题是,如果我在 中,/home我想在和目录(位于我的主文件夹中)中查找文件。但是如果我在根文件夹中,我希望它们被剥离。我试过这个:sysdevvar

但它不起作用。如果我在要排除的每个路径的开头设置一个点 (.) - 它适用于根文件夹,但也排除其他目录中的此类目录,这是我不想要的。

有没有办法通过完整(全局)文件路径进行修剪?我尝试了一个-wholename选项,但它似乎对我不起作用。

0 投票
0 回答
296 浏览

linux - linux的find命令问题

不断收到这么多警告,但我的命令运行良好。

对于文件,我使用以下命令:-

对于文件夹,我使用以下命令:-

注意:- exec 是一个执行 shell 命令的 php 函数。在这里,我试图为所有文件和文件夹提供 777 的权限。

0 投票
1 回答
85 浏览

bash - Bash:用 find 复制文件,用渐进式数字命名它们

我正在尝试使用 find 命令编写一个脚本来将目录树中的所有文件复制到另一个目录。但是,某些文件与其他文件具有相同的名称。由于我对文件名根本不感兴趣,我认为最简单的解决方案是将渐进式数字作为名称赋予副本。我试过这个命令:

但是,这个命令显然不起作用,因为 -exec 运行一个未定义 i 变量的子shell。有没有人有一些想法来做到这一点,最好是find?还有其他更好的方法吗?

0 投票
8 回答
194238 浏览

linux - 如何查找最近 x 分钟内修改的文件(find -mmin 无法按预期工作)

我正在尝试查找在过去 x 分钟内修改过的文件,例如在过去一小时内。网上的许多论坛和教程都建议使用带有 -mmin 选项的 find 命令,如下所示:

find . -mmin -60 |xargs ls -l

但是,这个命令并没有像预期的那样对我有用。从以下清单中可以看出,它还显示了早于 1 小时前修改的文件:

实际上,它只是列出了当前目录中的所有文件。我们可以以其中一个文件为例,检查其修改时间是否真的如 ls 命令显示的那样:

正如我们所见,这个文件的最后一次修改肯定于 1 小时前!我也试过find -mmin 60or find -mmin +60,但也没有用。

为什么会发生这种情况以及如何正确使用 find 命令?

0 投票
0 回答
41 浏览

find - GNU find 和更复杂的 -exec 选项参数值

这对我有用:

  1. {},\和 ';' 当使用任何其他语法时强制使用-exec根本不起作用?

  2. 以下更复杂的示例不起作用:

    echo这里只是为了演示。我最终计划使用类似的东西rm $TARGET_DIR/$(basename '{}')来代替它......它只是不能那样工作(嵌套)。有任何想法吗?

0 投票
3 回答
183 浏览

linux - GNU find:默认操作何时适用?

Debian 8 的 find 命令的手册页说:

如果整个表达式不包含除 -prune 或 -print 之外的任何操作,则对整个表达式为真的所有文件执行 -print。

那么为什么这些输出不同:

所以测试 1:表达式是否包含“除了 -prune 或 -print 之外没有其他操作”?好吧,不包括修剪,是的,这句话是真的,没有任何行动。所以这些结果是预期的,因为选项返回 True./foo之前的表达式-o,所以它被打印出来。

但是测试 2:该表达式是否包含“除了 -prune 或 -print 之外没有其他操作”?好吧,不包括修剪和印刷品,是的,这句话又是真的,没有其他动作。所以我希望得到同样的结果。

但我不明白./foo。为什么?

就好像手册页应该这样写:“如果整个表达式不包含除 -prune 之外的任何操作或 - 打印, -print 对整个表达式为真的所有文件执行。"

0 投票
1 回答
110 浏览

unix - 在 RHEL 7 上使用 bash shell - 为什么在我不使用 -exec 时会找到更多文件?

我正在寻找所有 setuid/setgid 文件。当我不使用-exec时,它按预期工作:

当我使用时-exec,我只得到结果的一个子集:

为什么?

0 投票
2 回答
48 浏览

linux - find 可以将找到的文件的文件名推送到管道中吗?

我想在 some 中做一个 find ,并对这个目录中的文件dir做一个awk,然后用每个结果替换原始文件。

所以我需要最后一个命令中的文件名(find 找到的每个文件)。我怎样才能做到这一点?