【发布时间】:2020-02-28 06:48:57
【问题描述】:
我有一个结合了 exec grep 和 printf 选项的 find 命令:
find -L /home/blast/dirtest -maxdepth 3 **-exec grep -q "pattern" {} \;** -printf '%y/#/%TY-%Tm-%Td %TX/#/%s/#/%f/#/%l/#/%h\n' 2> /dev/null
结果:
f/#/2018-01-01 10:00:00/#/191/#/filee.xml/#//#//home/blast/dirtest/01/05
我需要 printf 一次获取所有所需的文件信息(日期、类型大小等)
上面的命令工作正常。但是 exec 选项与 xargs 相比太慢了。
我尝试对 xarg 做同样的事情,但没有成功。 关于如何实现的任何想法?使用 xargs 命令保留所需的 printf 或类似命令。
谢谢
【问题讨论】:
-
如果
xargs不起作用,你怎么知道-exec比xargs慢? -
@jhnc 我可以用“find”管道 xargs 命令,但我不知道如何将它与 printf 结合起来( printf 是 find 的一个选项)。对于性能,互联网上有很多测试证实 xargs 的速度与 -exec 相比。
标签: unix grep find printf xargs