xargs: непревзойденная одинарная кавычка; по умолчанию кавычки являются специальными для xargs, если вы не используете опцию -0
Я хотел бы посчитать все обычные файлы в домашнем каталоге с помощью команд:
$ find ~ -type f | xargs echo | wc -w
xargs: unmatched single quote; by default quotes are special to xargs unless you use the -0 option
Это подсказывает
xargs: unmatched single quote; by default quotes are special to xargs unless you use the -0 option
В чем проблема с использованием?
1 ответ
Похоже, что некоторые из ваших имен файлов имеют апострофы (одинарные кавычки) в своих именах.
К счастью, find а также xargs есть способы обойти это. find"s -print0 вариант вместе с xargs"s -0 Опция производить и потреблять список имен файлов, разделенных NUL (\000) персонаж. Имена файлов в Linux могут содержать ЛЮБОЙ символ, КРОМЕ NUL а также /,
Итак, что вы действительно хотите:
find ~ -type f -print0 | xargs -0 --no-run-if-empty wc -w
Читать man find;man xargs,