gpt4 book ai didi

linux - tail -f(跟随)和 xargs

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:46:25 30 4
gpt4 key购买 nike

为什么 tail -f 不能很好地与 xargs 配合使用?

此命令按预期工作,我看到一段文本:

tail/var/log/auth.log|xargs echo

但是这个命令什么也没显示:

tail -f/var/log/auth.log|xargs echo

tailtail -f 都有输出。有人可能认为它是行终止符,但将两者都设置为 null 不起作用:

tail -z -f/var/log/auth.log|xargs -0 echo

最佳答案

因为 tail -f 没有终止;它仍在等待添加新行。并且 xargs(除非您使用 -L 或类似的)等待直到它有“足够”的参数使其值得执行命令行。

如果您打算对每行执行一次命令,请使用 xargs -L1。参见 man xargs详情:

   -L max-lines
Use at most max-lines nonblank input lines per command line.
Trailing blanks cause an input line to be logically continued
on the next input line. Implies `-x`.

注意“尾随空白”行为。您可以通过使用 -I 而不是 -L1 并指定显式替换参数来避免这种情况:

tail -f /var/log/auth.log | xargs -I {} echo {}

关于linux - tail -f(跟随)和 xargs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43942287/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com