【问题标题】:Which is best way to grep on exec from find command?从 find 命令对 exec 执行 grep 的最佳方法是什么?
【发布时间】:2020-10-15 04:44:15
【问题描述】:

我只是好奇这些语句中哪一个最耗费资源。

我希望有时标准是 1000 个文件,并希望确保我实现“最安全”的执行。文件本身会相对较小,但文件的数量可能会很大。

两种选择:

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$' {} \;

如您所见,唯一的区别是我应该使用 + 还是 ;

【问题讨论】:

    标签: bash grep find exec


    【解决方案1】:

    第一个运行grep 的次数比第二个少,这将启动每个文件一个实例。 grep 的启动时间非常快,因此可能不会有太大的改进,但第一个效率更高,第二个更占用资源。

    (您还需要将-H 添加到第一个grep 的选项中,以防它在某些时候使用单个文件名参数运行。)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-06-15
      • 1970-01-01
      • 2012-04-17
      • 2018-04-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-21
      相关资源
      最近更新 更多