“尾随空白导致输入行在下一个输入行上逻辑上继续”是什么意思?

“尾随空白导致输入行在下一个输入行上逻辑上继续”是什么意思?

来自手册xargs

-L max-lines 

每个命令行最多使用 max-lines 非空白输入行。尾随空白导致输入行在逻辑上继续到下一个输入行。意味着-x。

“尾随空白导致输入行在下一个输入行上逻辑上继续”是什么意思?你能用一些例子来说明吗?谢谢。

来源于https://unix.stackexchange.com/a/448294/674

答案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 扩展(参见xargsOpen Group 网站上的手册页)。这也称为 X/开放系统接口扩展 - 的补充规范单一 UNIX 规范 (SUS)

有关 POSIX、SUS 和 XSI 之间差异的更多信息,请参阅以下帖子:

或咨询一致性部分来自基本定义卷开放组基本规格

相关内容