在大量文件中,哪一个效率更高,应该使用?
find . -exec cmd {} +
要么
find . | xargs cmd
(假设文件名中没有有趣的字符)
速度差异不明显。
但是您必须确保:
您的脚本不会假定文件名中没有文件空间,制表符等。第一个版本是安全的,第二个则不是。
您的脚本不会将以“ -
” 开头的文件作为选项。
因此,您的代码应如下所示:
find . -exec cmd -option1 -option2 -- {} +
要么
find . -print0 | xargs -0 cmd -option1 -option2 --
第一个版本更短并且更容易编写,因为您可以忽略1,但是第二个版本更可移植且更安全,因为“ -exec cmd {} +
”是GNU
findutils中的一个相对较新的选项(自2005年以来,许多运行中的系统都没有它)最近是越野车。-exec cmd {} +
您还可以从其他答案中看到很多人也不知道这个“ ”。
我花了半天时间试图为此找到一个可行的解决方案,但要么我做错了一切,要么什么都不适合我。我是Java和JavaFX的新手。 我在Windows上使用VSCode,并且安装了“Extension Pack for Java”和“Maven for Java”扩展,我使用JAVAFX原型作为构建方法创建了一个项目。 生成了一个示例项目,我运行它没有问题,甚至没有添加带有“VMargs”等的“launch
我刚刚安装了Windows 10创作者更新(版本10.0.15063)。 我安装了多个版本的Visual Studio(2012, 2013, 2015和2017)。我几周前才安装了VS 2017。 CMake(版本3.8.1)在“VS2015 x64本机命令提示符”中运行时不再找到C/C编译器(在VS 2017命令提示符中运行时它确实正常工作)。 的内容: (的内容无关紧要。) CMake调用,
我在Windows 10上使用Visual Studio 2013,今天遇到错误“未找到与约束匹配的导出:” 我做了以下操作,但仍然存在相同的问题: 链接中给出的解决方案错误消息“未找到与约束合约名称匹配的导出” 通过删除/重命名“ComponentModelCache”文件夹,但仍然存在问题。 运行VS修复,但仍然有相同的问题。 最后,我卸载了Visual Studio 2013并重新安装,但仍
我目前正在Visual Studio中使用微软的Azure函数开发一个函数应用程序。我能够在azure上部署和发布功能,它似乎可以运行,但每当我试图在本地运行功能时,托管环境都无法找到任何“作业”。我在下面附上了一张图片。 必须指出的是,我在某个时候能够在本地部署,但我相信在一些更新之后,我无法运行我的功能 Azure函数和Web作业工具的当前版本:15.0.40424.0 当我创建新项目时,我尝
我正在使用无服务器框架(https://serverless.com/framework/docs/providers/azure/guide/quick-start/) 以创建节点。js基于azure函数。我遵循了《快速入门指南》中所述的程序,但在使用npm start在本地运行时遇到以下问题: 未找到作业函数。请尝试将作业类和方法公开。如果使用的是绑定扩展(例如Azure存储、ServiceB
我正在尝试让MS Bot builder示例在mac上运行,使用VS Preview。每次尝试运行应用程序时,我都会得到一个错误500,并且: