问题标签 [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 投票
3 回答
61 浏览

bash - 如何在要连接的每个文件之间添加新行 (\n)

我应该如何修改此行以在要连接的每个文件之间添加一个新行 (\n)?

0 投票
1 回答
63 浏览

bash - 在查找中,如果与 `-prune` 一起使用,`-type d` 不仅可以获取文件目录

我用这个:

获取所有目录 ( -type d) 不包括2018,S1S2

目录的排除工作,但我得到了很多文件:

顺便说一句,我寻找一个纯粹的find答案,我知道如何做到这一点tree

0 投票
0 回答
19 浏览

syntax - 递归查找多个 .gz 文件中的术语的问题

我们在一个文件夹中有各种存档文件,我试图通过这些文件递归搜索特定的字符串。我找到了很多不同方法的例子,但我没有成功。这是我最新的迭代:

有了上述内容,我得到“查找:缺少-exec的参数”。有人可以指出我缺少什么吗?谢谢

0 投票
1 回答
340 浏览

shell - 如何删除目录的每个文件中的空行?

如何删除目录(理想情况下也是子目录)的每个 txt 文件中的空 /blank 行?

上面的代码正确地提取文件列表,但我不确定要传递什么正则表达式来删除空行。

0 投票
2 回答
4074 浏览

bash - 如何将 GNU 与 find -exec 并行使用?

我想解压缩多个文件,

使用这个答案,我找到了以下命令。

find -name '*.zip' -exec sh -c 'unzip -d "${1%.*}" "$1"' _ {} \;

如何使用 GNU Parallel 和上述命令解压缩多个文件?


编辑 1:根据用户Mark Setchell的问题

文件在哪里?

所有的 zip 文件通常都在一个目录中。

但是,根据我的假设,即使根据 find 命令中给出的深度递归/非递归,该命令也会找到所有文件。

文件是如何命名的?

abcd_sdfa_fasfasd_dasd14.zip

你通常如何解压缩一个?

unzip abcd_sdfa_fasfasd_dasd14.zip -d abcd_sdfa_fasfasd_dasd14

0 投票
1 回答
35 浏览

gnu-findutils - 为什么 find 将正则表达式应用于完整路径名?

考虑以下 shell 会话:

find实用程序匹配它找到的每个文件的 _full 路径名,即使基本目录在找到的所有文件之间共享。

我可以以某种方式避免这种情况,以支持相对路径吗?或者我必须始终在目录名称或“.*”前面添加才能找到我的文件吗?

0 投票
1 回答
70 浏览

linux - Linux CLI 找到没有子目录的 dir 路径 - 结果只有父路径

我有这个目录树:

和 find-test2 一样

如果我发出:

我得到:

但我希望因此只有没有孩子的父母目录。期望的结果应该只是这两个父路径:

同样,如果我发出命令:

我只想得到:

请注意,它没有例如:

因为它已经被

复制目录树的脚本:

并找到命令:

我想问一下如何使用该find命令来获得仅包含与模式匹配的父路径的所需结果。

我需要使用-ipathswitch 以便我可以匹配具有更多条件的路径,但仍然只有父路径是所需的结果。

我正在使用 sh 和 bash。

0 投票
1 回答
60 浏览

bash - 在 find 命令中写入所有文件匹配项

我想用linux shell 中的find 命令将一些文本回显到所有文件匹配中。我试过这个” find . -type f -name "file*.txt" -exec echo "some text" > - '{}' ';'但这不起作用。无论如何我可以解决这个问题吗?

0 投票
1 回答
45 浏览

gnu-findutils - Find 的基于成本的优化器打破了短路评估

引用 find 的手册页(GNU findutils 4.7.0,强调我的):

GNU find根据优先规则(参见PERATORS 部分),通过从左到右评估给定表达式来搜索以每个给定起点为根的目录树,直到结果已知左侧为假)操作, true for or ),此时 find 移动到下一个文件名。

因此,在find评估时,<expr1> -and <expr2>我希望<expr2>除非<expr1>为真,否则不会评估,我依靠它来避免一些错误消息,特别是,我不想find测试不可读的目录是否为空。这是一个SCCCE

产生

添加(否则为隐式)-and和括号,评估的表达式find 等效于

因此,在意识到some_directory不可读之后,find应该放弃空性测试和评估-printf "yes"。相反,它应该跳转到-printf "no"和 finally的评估-prune。输出中的“Permission denied”表明它正在评估-empty。(从原始表达式中删除! -empty会使错误消失。)

使用-D tree检查评估树,我看到优化的形式(为了简洁和清晰而在此处编辑)是:

根据哪个-empty确实进行了评估,更糟糕的是,在此之前-readable完全搞砸了预期的逻辑。我认为这是一个错误。我对吗?

更新:(2020 年 5 月 26 日)已提交错误报告,并已被开发人员确认为错误。

0 投票
0 回答
87 浏览

find - find -cmin 0 和 -ctime 0 的规则

我正在研究 command find,我看到:

但是当n为零时,差异就来了,这种行为是否有合理的解释?