Использование -0 с xargs - PullRequest
       2

Использование -0 с xargs

1 голос
/ 17 сентября 2011

Я пытаюсь ввести входные данные для xargs, которые отделены NUL.Для этого у меня есть это:

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

Я получаю

abcdef

Интересно, почему он не печатает o / p как

abc
def

Ответы [ 2 ]

3 голосов
/ 17 сентября 2011

Ваша основная проблема в том, что вы забыли -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.

1 голос
/ 17 сентября 2011

Попробуйте обработать ввод как одну строку в кавычках.

echo -ne "abc\0def\0" | xargs -0 -L 1
...