搜索
写经验 领红包
 > 自然

xags命令用法及参数(xags使用)

在生活中,很多人可能想了解和弄清楚xargs命令如何加速的相关问题?那么关于xargs命令用法及参数的答案我来给大家详细解答下。

xargs命令用法及参数(xargs使用)

作为服务端的程序员,我们可能会经常需要通过查找日志来分析定位问题。由一个常见的场景引出下面要讲的内容,在一个目录下查找一个待匹配的字符串所在的行,来定位问题。很容易可以用一个命令搞定:

find . -name &34; |xargs grep &34; {} >> res.txt

使用26个文件,每个大概300M,用time命令统计耗时6S,测试结果:

real0m6.113suser0m2.096ssys0m4.003s

之前可能会写下这样的命令,也能work,但是从没想过其实还是可以加速的。无意间看到大牛的分享,于是决定仔细研究下。

xargs —help 查看解释
-n, --max-args=MAX-ARGS      Use at most MAX-ARGS arguments per command                               line-P, --max-procs=MAX-PROCS    Run up to max-procs processes at a time

其中对于加速非常关键的两个参数-n -P

修改上面的命令
find . -name &34; |xargs grep -n 10 -P 10 &34; {} >> res.txt
继续测试
real0m1.716suser0m2.153ssys0m3.897s
总结如果不加-n,实测-P不起作用,还是相当于单进程执行。-P并不是越多越快,理论上只要小于机器的核心数会更快,但实际并不是(没理解)。

温馨提示:通过以上关于xargs命令如何加速内容介绍后,相信大家有新的了解,更希望可以对你有所帮助。