在find -exec中,如何用{}替换当前文件?

牧人

我想查找不属于我的所有文件(即无权对其进行修改)。我试过了

find . -exec if [[ ! -O {} ]]; then echo {}; fi ;

但是,如果我将整个命令-exec放在引号后,例如:

find . -exec 'if [[ ! -O {} ]]; then echo {}; fi' \;

都不行,因为对当前文件的引用{}用引号引起来,因此不会扩展到该文件。

问题是,我不知道如何将{}当前文件嵌入到更复杂-exec的示例中find . -exec grep smf {} \;例如{}使用一次)。如何-exec在命令中的find中使用option,在其中您多次引用当前文件?(这将{}花费更多时间)。

库萨兰达

您的代码不起作用,因为您要求find运行的实用程序if不存在(这是Shell语法中的关键字)。

-O如果参数是由当前用户所拥有的文件测试为真。可以使用以下方法find本身进行相同的测试-user "$USER"(假设$USER扩展到当前用户):

find . -type f ! -user "$USER"

test -O如果您的外部test实用程序支持该非标准测试(请选中man test也可以使用

find . -type f ! -exec test -O {} \; -print

如果仍然想要或需要使用外壳程序-O内置测试bash,则必须生成一个bash外壳程序来执行测试:

find . -type f -exec bash -c '[[ ! -O "$1" ]]' bash {} \; -print

bash -c对于每个在第一个参数($1上运行测试的文件,这将启动一个内联脚本参数在脚本的命令行中通过传递findbash之前字符串{}将放置在$0脚本内部,并且将由该Shell用于错误消息)。如果测试为真(该文件不属于您),-print则生效并打印文件的路径名。

您可以使用以下方法更有效地执行此操作

find . -type f -exec bash -c '
    for pathname do
        [[ ! -O "$pathname" ]] && printf "%s\n" "$pathname"
    done' bash {} +

这是更有效的方法,因为它将批次的找到的路径名传递给了bash -c脚本。

...但是使用-user "$USER"将是更好的选择。

也可以看看:

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在bash脚本中具有find的Imagemagick:在当前文件夹中输出

来自分类Dev

如何获取当前文件的父级?

来自分类Dev

Webpack中的当前文件路径

来自分类Dev

在IntelliJ中运行当前文件?

来自分类Dev

在Ruby中获取当前文件路径

来自分类Dev

从数据中清除当前文件的副本

来自分类Dev

在Emacs中,如何在Finder中显示当前文件?

来自分类Dev

如何在Ruby中获取当前文件和行号?

来自分类Dev

如何在Google脚本中获取当前文件的名称?

来自分类Dev

如何在退出时删除当前文件(在PHP中?)

来自分类Dev

如何在Dojo中获取当前文件名

来自分类Dev

如何在Excel中插入当前文件名?

来自分类Dev

如何在提交sftp中停止当前文件上传?

来自分类Dev

如何在退出时删除当前文件(在php中?)

来自分类Dev

如何在Powershell中删除当前文件夹?

来自分类Dev

vim文件中的javac当前文件代码?

来自分类Dev

如何在find -exec中获取文件的基本名称

来自分类Dev

如何配置webstorm 9突出显示当前文件?

来自分类Dev

当前文件写入时如何处理readFile

来自分类Dev

如何将当前文档的innerHTML下载为文件?

来自分类Dev

emacs:如何设置用户当前文件夹?

来自分类Dev

如何获得(g)Vim显示当前文件的字符数?

来自分类Dev

emacs:如何设置用户当前文件夹?

来自分类Dev

如何只同步当前文件夹?

来自分类Dev

如何使用程序所在的当前文件夹?

来自分类Dev

如何在 git index 上打印当前文件?

来自分类常见问题

在gulp.src()中获取当前文件名

来自分类Dev

Vim:在默认Vim中打开当前文件的功能

来自分类Dev

从js调用其他当前文件中的类

Related 相关文章

热门标签

归档