Questions tagged «find»

对于与查找有关的问题,请使用命令行实用程序在目录层次结构中搜索文件。使用此标记可解决有关find本身的问题或有关使用find命令行实用程序而引起的问题的问题。

2
使用find命令将markdown文件转换为html
假设我的硬盘上有扩展名为的文件.md。 我想将所有这些文件转换为.html通过find和-exec选项。 将markdown文件转换为html的命令是 markdown readme.md > readme.html 我正在尝试使用类似的东西: find / -name "*.md" -type f -exec markdown {} > {}.html \; 当然,以上方法不起作用。那么,我该如何只使用findand来做到这一点exec?
17 bash  find 



2
查找早于15秒但早于2秒的文件
我想查找早于15秒但早于2秒的文件。这是我当前正在使用的脚本,该脚本可捕获15秒以上的文件: find /my/directory -name '*.jpg' -not -newermt '-15 seconds' 任何帮助是极大的赞赏
17 bash  find 


4
某些子目录的find-command
比方说,我有一个目录dir有三个子目录dir1.. dir3。在内部,我有许多文件和其他子目录。 我想搜索一个带有*.c结尾的文件,但我只想搜索子目录“ dir / dir2”及其所有子目录。我该如何制定呢? 假设我在dir/: find . -name "*.c" 搜索所有目录。 如何限制为dir2?
17 linux  bash  shell  find 


4
在Linux中如何使用Shell脚本用下划线替换所有文件名中的空格?
我尝试了以下shell脚本,该脚本应该替换所有xml文件名中的空格 for xml_file in $(find $1 -name "* .xml" -type f); do echo "removing spaces from XML file:" $xml_file mv "$xml_file" "${xml_file// /_}"; done 假设我有一个名为的xml文件xy z.xml,那么它给出了: removing spaces from XML file: /home/krishna/test/xy mv: cannot stat `/home/krishna/test/xy': No such file or directory removing spaces from XML file: .xml mv: cannot stat …

4
如何使用`find`进行广度优先搜索?
的-depth伯〜find导致它执行深度优先搜索。 但是,默认序列不是广度优先搜索。 默认序列可以非正式地描述为“深度优先遍历,它在第一次遇到节点时进行处理,而不是在回溯过程中进行处理。” 我实际需要广度优先搜索。如何使find这种行为? 为了说明,请使用以下设置: $ mkdir -p alpha/{bravo,charlie,delta} $ touch alpha/charlie/{alpha,beta,gamma,phi} find 具有以下默认行为: $ find alpha alpha alpha/charlie alpha/charlie/alpha alpha/charlie/phi alpha/charlie/beta alpha/charlie/gamma alpha/delta alpha/bravo 并使用-depth,它的执行如下: $ find alpha -depth alpha/charlie/alpha alpha/charlie/phi alpha/charlie/beta alpha/charlie/gamma alpha/charlie alpha/delta alpha/bravo alpha 但是,我想要以下(虚拟)选项: $ find alpha -bfs alpha alpha/charlie alpha/delta alpha/bravo alpha/charlie/alpha alpha/charlie/phi alpha/charlie/beta …
17 find 

5
使用生成的文件名列表作为参数列表-带空格
我正在尝试使用收集的文件名列表调用脚本find。没什么特别的,只是这样: $ myscript `find . -name something.txt` 问题在于某些路径名包含空格,因此在参数扩展时它们会分解为两个无效的名称。通常,我会在名称两边加上引号,但是在这里,它们会由反引号扩展插入。我试过find用引号过滤每个文件名的输出并用引号引起来,但是当bash看到它们时,剥离它们已经为时已晚,它们被视为文件名的一部分: $ myscript `find . -name something.txt | sed 's/.*/"&"/'` No such file or directory: '"./somedir/something.txt"' 是的,这是处理命令行的规则,但是如何解决呢? 这很尴尬,但我没有提出正确的方法。我终于想出了解决方法,但是xargs -0 -n 10000...我仍然想问这个丑陋的hack:我该如何引用反引号扩展的结果,或者以其他方式实现相同的效果? 编辑:我对xargs 确实将所有参数收集到一个参数列表中的事实感到困惑,除非被告知否则可能会超出系统限制。感谢大家使我挺直!其他人,在阅读已接受的答案时,请记住这一点,因为它不是很直接地指出。 我已经接受了答案,但我的问题仍然存在:是否存在某种方法来保护反引号(或$(...))扩展中的空间?(请注意,可接受的解决方案是非强制性的答案)。

4
如何检测“发现”是否找到任何匹配项?
是否有惯用的手段来检测“查找”是否找到了匹配项?我目前正在使用 COUNT=`find ... | wc -l` if [ "$COUNT" -gt 0 ]; then 但这对我来说似乎是间接的。另外,我想找到匹配后就停止搜索,这样就不会浪费时间和精力。我只需要知道是否有匹配的文件即可。 更新:我犯了一个错误,没有我前面的代码就写了我的问题:我用wc -l在另一种情况下,无论如何我都需要知道找到的文件总数。如果我仅测试是否有匹配项,则使用if [ -z $(find …) ]。
16 find  osx 

6
如何通过压缩档案递归grep?
我试图找出use Test::Versioncpan中的哪些模块。所以我曾经minicpan镜像过。我的问题是我需要遍历下载的档案,并grep档案中的文件。谁能告诉我该怎么做?最好以某种方式告诉我档案中的哪个文件以及该文件在哪一行。 (注意:它们不是全部的tarball,有些不是zip文件)
16 grep  find  zip  recursive  archive 

3
bash查找xargs grep仅一次出现
也许有点奇怪-也许还有其他工具可以做到这一点,但是。 我正在使用以下经典bash命令来查找包含某些字符串的所有文件: find . -type f | xargs grep "something" 我有很多深度的文件。第一次出现“某物”对我来说已经足够了,但是find会继续搜索,并且需要很长时间才能完成其余文件。我想做的是从grep返回查找的“反馈”,以便查找可以停止搜索更多文件。这样的事情可能吗?
16 bash  find  grep  xargs 

5
查找文件中任何位置包含多个关键字的文件
我正在寻找一种列出目录中所有文件的方法,该文件包含我要查找的关键字的完整集合,位于文件的任何位置。 因此,关键字不必出现在同一行上。 一种方法是: grep -l one $(grep -l two $(grep -l three *)) 三个关键字只是一个例子,也可以是两个或四个,依此类推。 我能想到的第二种方法是: grep -l one * | xargs grep -l two | xargs grep -l three 在另一个问题中出现的第三个方法是: find . -type f \ -exec grep -q one {} \; -a \ -exec grep -q two {} \; -a …

2
按年龄删除文件
是否有命令删除目录中所有在N天内未修改的文件?我需要清理一些旧日志。
16 find  rm 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.