Questions tagged «find»

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

3
用-execdir查找
当我find和我一起跑步时,-execdir没有得到预期的结果。 例如: mkdir -p a/b/c find . -type d -execdir touch foo \; $ tree a a ├── b │ ├── c │ └── foo └── foo 目录c不包含foo文件。如何find在每个目录中本地访问和执行某些操作?

8
如何查找内容中包含100%NUL字符的文件?
可以识别此类文件的Linux命令行命令是什么? AFAIK该find命令(或grep)只能匹配文本文件中的特定字符串。但是我想匹配所有内容,即我想查看哪些文件匹配正则表达式\0+,而忽略行尾字符。也许这个find . cat | grep成语可能有效,但是我不知道如何使grep忽略行(并将文件视为二进制文件)。 背景:每隔几天,当我的笔记本电脑死机时,我的btrfs分区就会丢失信息:为写入而打开的文件将其内容替换为零(文件大小或多或少保持不变)。我使用同步,并且我不想传播这些假文件:我需要一种识别它们的方法,以便可以从备份中获取它们。

6
查找和回显仅具有模式的文件名
我经常使用它,我尝试实现的改进是避免回显文件名与grep不匹配。更好的方法吗? for file in `find . -name "*.py"`; do echo $file; grep something $file; done
16 grep  find 

1
为什么要查找。类型的f所花的时间要比查找更长的时间?
find为了递归遍历目录的内容,似乎必须检查给定的路径是否对应于文件或目录。 这是一些动机,也是我在当地所做的,使自己确信自己find . -type f确实比慢find .。我还没有深入研究GNU查找源代码。 因此,我要备份$HOME/Workspace目录中的某些文件,并排除属于我的项目或版本控制文件的文件。 因此,我运行了以下命令,该命令快速执行 % find Workspace/ | grep -v '/vendor\|/node_modules/\|Workspace/sources/\|/venv/\|/.git/' > ws-files-and-dirs.txt find用管道传递到grep可能是错误的形式,但这似乎是使用否定的正则表达式过滤器的最直接方法。 以下命令仅在find输出中包含文件,并且花费的时间明显更长。 % find Workspace/ -type f | grep -v '/vendor\|/node_modules/\|Workspace/sources/\|/venv/\|/.git/' > ws-files-only.txt 我编写了一些代码来测试这两个命令的性能(使用dash和tcsh,以排除shell可能产生的任何影响,即使不应有任何影响)。的tcsh,因为他们基本上是相同的结果已被忽略。 我得到的结果表明,该产品的性能损失约为10% -type f 这是程序的输出,显示了执行各种命令的1000次迭代所花费的时间。 % perl tester.pl /bin/sh -c find Workspace/ >/dev/null 82.986582 /bin/sh -c find Workspace/ | grep …
15 find  performance  gnu 

3
将POSIX查找限制在特定深度?
我最近注意到POSIX规范find不包括-maxdepth主要规范。 对于那些不熟悉它的人,主要的目的-maxdepth是限制find将下降多少个深度。 -maxdepth 0结果仅处理命令行参数;-maxdepth 1仅在命令行参数等中直接处理结果。 -maxdepth仅使用POSIX指定的选项和工具,如何获得与非POSIX 主要对象相同的行为? (注意:当然-maxdepth 0,只要将其-prune用作第一个操作数,就可以得到与之相当的结果,但这不会扩展到其他深度。)
15 find  posix 

2
查找由特定用户创建的文件
如何查找特定用户创建的所有文件并将其显示在屏幕上? 我已经启动了一个脚本,该脚本提示当前用户输入他们想要查看其所有文件的用户名。考虑到我想包括错误检查,我已经考虑过使用if语句。 echo -e "Option 11: Display all the Files a Particular User Has Created\n\n" echo -e "Enter Username below\n" read username
15 files  find  users 


5
有没有办法提高`查找`的速度
我想知道是否有一种方法可以提高find终端的速度,使用互联网Google搜索比本地搜索字符串或仅搜索文件名更快的速度没有任何意义。 我想知道是否有一种方法可以建立本地索引库,一旦建立该索引库,将来,find命令可能会非常快。 或其他建议? 谢谢!
15 find 


3
如何用xargs引用参数
假设我要删除文件夹中大于1 MB的所有文件。 $ find . -size +1M | xargs -0 rm 这不会删除名称中带有空格的文件。因此,我希望它引用发送给的所有参数rm。如果find给出,Some report.docx则应传递"Some report.docx"给rm。 我怎样才能做到这一点?
15 shell  find  quoting  rm  xargs 

5
如何根据年份移动文件
我需要根据一年移动文件。我用的find命令 find /media/WD/backup/osool/olddata/ -mtime +470 -exec ls -lrth {} \;|sort -k6 但是要使此命令成功执行,我需要知道确切的值mtime470只是一个猜测。意思是如果我可以给出2012年,那么它只会给出与2012年有关的文件。 所以我需要如何建议 根据年份(例如2012)查找文件,然后将其移动到其他目录。 OS release 5.2 FIND version GNU find version 4.2.27 Features enabled: D_TYPE O_NOFOLLOW(enabled) LEAF_OPTIMISATION SELINUX
15 find 

4
有色的FIND输出?
是否可以从find命令获得彩色输出?也就是说,在找到的每个项目的路径中,目录为蓝色,可执行脚本为绿色,等等。我正在使用GNU findutils的 4.4.2版本。 编辑-为了明确起见,每个结果都将像这样突出显示: ./path/to/file.sh ^ ^ ^ | | L green blue (例如,如果执行find . -type f)。
15 bash  find  colors 

2
如何使用“ find -exec”在找到的文件目录(不是当前目录)中执行命令?
比方说,我在其中有一些子目录,目录dir1,dir2和dir3。这些目录中的每个目录都有一个文件foo,我想foo在每个目录中的每个目录上执行相同的命令,并从该目录内部执行该命令。 如果我要“手工”进行操作,它将看起来像这样: cd dir1 (execute on foo) cd ../dir2 (execute on foo) cd ../dir3 (execute on foo) 必须从每个目录中执行命令。 foo是一个批处理调度脚本(对于HTCondor,如果您想知道的话),并且必须在每个子目录中执行,以便由调度脚本启动的运行的输出将最终在每个子目录中。 问题“ 查找文件,并在文件的目录执行命令 ”,据我所知,并没有回答我的问题。该问题的第一个答案更多是一种变通办法,在我的情况下将不起作用,第二个答案没有足够的解释让我知道如何使用它。
15 find 

1
查找在符号链接路径上不起作用?
如果我运行此命令,则find $HOME/MySymlinkedPath -name "run*.sh"什么也不会发生,也不会出错(“ MySymlinkedPath”是到另一个硬盘驱动器的符号链接路径,而不是我的$ HOME路径)。 这些也会失败: find ~/MySymlinkedPath -name "run*.sh" find /home/MyUserName/MySymlinkedPath -name "run*.sh" 只是为了确保,这个不存在的路径失败了(当然),find $HOME/MySymlinkedPathDUMMYTEST -name "run*.sh"所以找到了该路径(因为不会发生错误),但是find没有对该路径执行搜索,我现在很无能为力。 仅当我cd $HOME/MySymlinkedPath先删除路径引用后才起作用,find -name "run*.sh"但这对我的脚本不利。 附加信息: 此命令照常运行ls $HOME/MySymlinkedPath/run*.sh,如果我去那里cd $HOME/MySymlinkedPath运行该命令ls ..,结果将不是我所期望的-符号链接路径所在的路径列表-返回实际路径的列表另一个媒体/硬盘! pwd -P /media/MediaIdentifier/RealPath pwd /home/MyUser/MySymlinkedPath 重新思考:和或我的系统 是否有问题?还是可以预期的,根本不是问题??我在Ubuntu 12.10上。它在我测试过的所有终端上均失败,因此似乎没有终端“问题”。findls
15 find  symlink  path 

2
使用`find -exec`有哪些安全问题和竞争条件?
从find手册页: -exec command ; There are unavoidable security problems surrounding use of the -exec action; you should use the -execdir option instead. -execdir command {} + Like -exec, but the specified command is run from the subdirectory containing the matched file, which is not normally the directory in which you …
14 shell  find  security 

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.