1

我正在尝试为以 NUL 分隔的 xargs 提供输入。为此,我有这个:

$ echo -n abc$'\000'def$'\000' | xargs -0 -L 1

我明白了

abcdef

我想知道为什么它不将 o/p 打印为

abc
def
4

2 回答 2

3

您的主要问题是您忘记了-e

$ echo -n abc$'\000'def$'\000' |cat -v
abcdef

看不到零字节。但是这个:

$ echo -en abc'\000'def'\000' |cat -v
abc^@def^@

更像是它,它^@是如何cat -v显示零字节的。现在为xargs

$ echo -en abc'\000'def'\000' | xargs -0 -L 1
abc
def

help echo从您的 bash 提示符中尝试。

于 2011-09-17T04:20:42.187 回答
1

尝试将输入视为单引号字符串。

echo -ne "abc\0def\0" | xargs -0 -L 1
于 2011-09-17T04:20:44.367 回答