если вы хотите , 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
вместо этого.