![“尾随空白导致输入行在下一个输入行上逻辑上继续”是什么意思?](https://linux22.com/image/134732/%E2%80%9C%E5%B0%BE%E9%9A%8F%E7%A9%BA%E7%99%BD%E5%AF%BC%E8%87%B4%E8%BE%93%E5%85%A5%E8%A1%8C%E5%9C%A8%E4%B8%8B%E4%B8%80%E4%B8%AA%E8%BE%93%E5%85%A5%E8%A1%8C%E4%B8%8A%E9%80%BB%E8%BE%91%E4%B8%8A%E7%BB%A7%E7%BB%AD%E2%80%9D%E6%98%AF%E4%BB%80%E4%B9%88%E6%84%8F%E6%80%9D%EF%BC%9F.png)
来自手册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 之间差异的更多信息,请参阅以下帖子: