如何解决从find命令在exec上执行grep的最佳方法是哪种?
我很好奇这些语句中哪一个最消耗资源。
我希望标准有时为1000s,并希望确保实现“最安全”的执行。文件本身会相对较小,但文件数量可能会很大。
两种选择:
sudo find /home/users -name '*.sh' -type f -exec grep -n 'rm.*tmp.*7z$' {} \+
sudo find /home/users -name '*.sh' -type f -exec grep -Hn 'rm.*tmp.*7z$' {} \;
您可以看到,唯一的区别是我应该使用+还是;
解决方法
第一个实例运行grep
的次数比第二个实例少,后者将为每个文件启动一个实例。 grep
的启动时间非常快,因此可能不会带来明显的改善,但是第一个会更高效,第二个会占用更多资源。
(您也想将-H
添加到第一个grep
的选项中,以防万一某个时候使用单个文件名参数运行它。)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。