来自手册xargs
:
-L max-lines
每个命令行最多使用 max-lines 非空白输入行。尾随空白导致输入行在逻辑上继续到下一个输入行。意味着-x。
“尾随空白导致输入行在下一个输入行上逻辑上继续”是什么意思?你能用一些例子来说明吗?谢谢。
答案1
手册所说的是,输入行末尾的尾随空格将导致xargs
将其视为下一行的一部分 - 有效地转义换行符。考虑以下命令执行:
user@host~:$ (echo "line1"; echo "line2") | xargs -L 1 echo
line1
line2
由于该-L 1
选项,每行输入都会被单独处理,因此我们得到两行输出。现在将其与以下示例进行比较,其中输入的第一行包含尾随空格:
user@host~:$ (echo "line1 "; echo "line2") | xargs -L 1 echo
line1 line2
请注意,这两行被 视为单行输入xargs
。
还值得注意的是(根据评论)该-L max-lines
选项是 XSI 扩展(参见xargs
Open Group 网站上的手册页)。这也称为 X/开放系统接口扩展 - 的补充规范单一 UNIX 规范 (SUS)。
有关 POSIX、SUS 和 XSI 之间差异的更多信息,请参阅以下帖子: