Я пытаюсь скопировать кучу файлов под каталогом, и некоторые файлы содержат пробелы и одинарные кавычки в своих именах. Когда я пытаюсь связать find и grep с xargs, я получаю следующую ошибку:
find .|grep «FooBar»|xargs -I{} cp «{}» ~/foo/bar xargs: unterminated quote
Есть предложения по более надежному использованию xargs?
Это на Mac OS X 10.5.3 (Leopard) с BSD xargs.
Сообщение об ошибке GNU xargs для этого с именем файла, содержащим одинарную кавычку, гораздо более полезно: xargs: непревзойденная одинарная кавычка; по умолчанию кавычки являются специальными для xargs, если вы не используете параметр -0. — person Drew Stephens schedule 27.09.2008
GNU xargs также имеет параметр —delimiter (-d). Попробуйте использовать n в качестве разделителя. Это не позволяет xargs разделять строки пробелами на несколько слов / аргументов. — person Drew Stephens schedule 27.02.2017
Источник: