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

Какова проблема с использованием?

4
задан 4 January 2019 в 08:07

1 ответ

Кажется, что некоторые Ваши имена файлов имеют апострофы (одинарная кавычка) на их имена.

К счастью, find и xargs имейте пути вокруг этого. find -print0 опция наряду с xargs -0 опция производит и использует список имен файлов, разделенных NUL (\000) символ. Имена файлов в Linux могут содержать ЛЮБОЙ символ, КРОМЕ NUL и /.

Так, что Вы действительно хотите:

 find ~ -type f -print0 | xargs -0 --no-run-if-empty wc -w

Читать man find;man xargs.

8
ответ дан 1 December 2019 в 09:06

Другие вопросы по тегам:

Похожие вопросы: