标签: find

如何运行 find -exec?

我想在当前目录中找到包含文本“chrome”的文件。

$ find . -exec grep chrome
find: missing argument to `-exec'
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

find

675
推荐指数
6
解决办法
110万
查看次数

find 的“-exec rm {} \;” 与“-删除”

我试图了解这两个命令之间的区别:

sudo find / -name .DS_Store -delete
Run Code Online (Sandbox Code Playgroud)

sudo find / -name ".DS_Store" -exec rm {} \;
Run Code Online (Sandbox Code Playgroud)

我注意到该-exec ... {}方法是首选。为什么?哪个更安全/更快/更好?我在我的Macbook上都使用过,一切似乎都运行良好。

find

358
推荐指数
4
解决办法
45万
查看次数

如何找到损坏的符号链接

有没有办法找到所有没有指向的符号链接?

find ./ -type l
Run Code Online (Sandbox Code Playgroud)

会给我所有的符号链接,但不区分去某处的链接和不去某处的链接。

我目前正在做:

find ./ -type l -exec file {} \; | grep broken
Run Code Online (Sandbox Code Playgroud)

但我想知道存在哪些替代解决方案。

shell find symlink

352
推荐指数
6
解决办法
21万
查看次数

如何递归删除主目录中的空目录?

可能的重复:
如何删除子树中的所有空目录?

我经常创建目录,分散在我的主目录中,我发现很难找到和删除它们。

我想要任何别名/函数/脚本来查找/定位并删除我的主目录中的所有空目录。

linux filesystems find rm

224
推荐指数
2
解决办法
20万
查看次数

查找命令:如何忽略大小写?

我正在一个巨大的目录层次结构中寻找文件“WSFY321.c”。
通常我会使用GNU findfind . -name "WSFY321.c"
但我不知道大小写,它可能是大写、小写或两者的混合。

找到此文件的最简单方法是什么?
有比 更好的find . | grep -i "WSFY321.c"吗?

find

221
推荐指数
2
解决办法
21万
查看次数

如何使用 find 命令搜索多个扩展名

我可以jpg使用以下方法获取所有图像:

find . -name "*.jpg"  
Run Code Online (Sandbox Code Playgroud)

但是我怎样才能将png文件添加到结果中呢?

find regular-expression

210
推荐指数
4
解决办法
20万
查看次数

如何根据`find`输出删除目录?

我发出以下命令来查找 .svn 目录:

find . -name ".svn"
Run Code Online (Sandbox Code Playgroud)

这给了我以下结果:

./toto/.svn
./toto/titi/.svn
./toto/tata/.svn
Run Code Online (Sandbox Code Playgroud)

我如何处理所有这些行rm -fr以删除目录及其内容?

subversion find rm

200
推荐指数
7
解决办法
26万
查看次数

为什么循环查找的输出是不好的做法?

这个问题的灵感来自

为什么使用 shell 循环处理文本被认为是不好的做法?

我看到这些结构

for file in `find . -type f -name ...`; do smth with ${file}; done
Run Code Online (Sandbox Code Playgroud)

for dir in $(find . -type d -name ...); do smth with ${dir}; done
Run Code Online (Sandbox Code Playgroud)

几乎每天都在这里使用,即使有些人花时间对这些帖子发表评论,解释为什么应该避免这种东西......
看到此类帖子的数量(以及有时这些评论被简单地忽略的事实)我想我还不如问一个问题:

为什么循环find的输出是不好的做法,为 返回的每个文件名/路径运行一个或多个命令的正确方法是find什么?

find filenames files for

193
推荐指数
4
解决办法
3万
查看次数

在 Linux 中运行 find 时如何跳过“权限被拒绝”错误?

可能的重复:
如何从查找程序中删除“权限被拒绝”打印输出语句?

当我在 Linux (SuSE) 中运行此命令时:

find / -name ant
Run Code Online (Sandbox Code Playgroud)

我收到许多形式的错误消息:

find: `/etc/cups/ssl': Permission denied
Run Code Online (Sandbox Code Playgroud)

是否find需要跳过显示这些错误并仅尝试我有权访问的文件的参数?

linux permissions find files

191
推荐指数
1
解决办法
28万
查看次数

循环遍历名称中带有空格的文件?

我编写了以下脚本来比较两个目录的输出,其中包含所有相同的文件:

#!/bin/bash

for file in `find . -name "*.csv"`  
do
     echo "file = $file";
     diff $file /some/other/path/$file;
     read char;
done
Run Code Online (Sandbox Code Playgroud)

我知道还有其他方法可以实现这一目标。奇怪的是,当文件中有空格时,这个脚本会失败。我该如何处理?

find 的示例输出:

./zQuery - abc - Do Not Prompt for Date.csv
Run Code Online (Sandbox Code Playgroud)

scripting bash find text-processing filenames

187
推荐指数
6
解决办法
25万
查看次数