Abd*_*red 4 command-line pipe xargs
当我执行xargs -n2
,输入x x x x x
并点击时Enter,我只得到 4 倍:
$ xargs -n2
x x x x x
x x
x x
Run Code Online (Sandbox Code Playgroud)
但是,当我通过管道将其x x x x x
输入相同的命令时,我会得到相同数量的 x:
$ echo x x x x x | xargs -n2
x x
x x
x
Run Code Online (Sandbox Code Playgroud)
为什么在第一种情况下参数的数量要么向上取整要么向下取整?
在第一行,xargs
仍然等待第二个参数或输入的结束。按Ctrl- Dxargs 后继续执行其余操作,您将看到第 5 个x
作为单个参数。
这个例子可以解释这种行为:
(echo "x x x x x"; sleep 5; echo "x") | xargs -n2
Run Code Online (Sandbox Code Playgroud)
输出:
x x
x x
x x # after 5 seconds
Run Code Online (Sandbox Code Playgroud)
在x
第二个echo
语句中的第 6个之后,输入流完成并xargs
最终具有第二个参数,但在此之前它等待 5 秒。
归档时间: |
|
查看次数: |
839 次 |
最近记录: |