我正在尝试为以 NUL 分隔的 xargs 提供输入。为此,我有这个:
$ echo -n abc$'\000'def$'\000' | xargs -0 -L 1
我明白了
abcdef
我想知道为什么它不将 o/p 打印为
abc
def
您的主要问题是您忘记了-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 提示符中尝试。
尝试将输入视为单引号字符串。
echo -ne "abc\0def\0" | xargs -0 -L 1