xargs 的 -d 参数用于指定单字符分隔符以替代默认空白分隔,支持竖线、冒号、NUL 等,但不支持多字符分隔符;配合 -0 更安全,且需注意转义与选项兼容性。

xargs 的 -d 参数用于指定自定义分隔符,替代默认的空格、制表符和换行符,特别适合处理含空格、制表符或混合分隔的非标准文本流(比如用竖线 |、冒号 :、甚至不可见字符分隔的字段)。
明确指定分隔符字符
使用 -d 后直接跟一个字符(或转义序列),xargs 就按该字符切分输入流。注意:它只认单个字符,不支持多字符分隔符(如 || 或 SEP)。
- 按竖线切分:
echo "a|b|c" | xargs -d '|' echo→ 输出a b c - 按冒号切分(常用于
/etc/passwd):head -1 /etc/passwd | xargs -d ':' echo→ 输出各字段为独立参数 - 按 ASCII NUL 字符(
