если вы хотите , xargsчтобы игнорировать цитирует одну из хорошей soultion может быть использование xargsфлага xargs -0
Прямо со страницы Man
ВАРИАНТЫ -0, --null
Входные элементы заканчиваются нулевым символом вместо пробела, и кавычки и обратный слеш не являются специальными (каждый символ воспринимается буквально). Отключает конец строки файла, который обрабатывается как любой другой аргумент. Полезно, когда элементы ввода могут содержать пробелы, кавычки или обратную косую черту. Опция GNU find -print0 производит ввод, подходящий для этого режима.
Я проверил в системе GNU, что установка разделителя на определенное значение (например, на новую строку) с -dпараметром (и не только -0) также приведет xargsк тому, что не будет обрабатываться кавычки и т. Д. Специально:
-bash-4.3$ { echo "a'b'c"; echo d; } | xargs -d$'\n' echo
a'b'c d
-bash-4.3$ rpm -qf "$(which xargs)"
findutils-4.6.0.0.99.11a05-alt1.x86_64
-bash-4.3$ { echo "a'b'c"; echo d; } | xargs echo
abc d
-bash-4.3$
xargsрассматривает кавычки и обратную косую черту специально как часть спецификации . Опубликуйте, что вы пытаетесь сделатьxargsвместо этого.