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
,