Ошибка от w c -w $ (найти ...) только в некоторых каталогах - PullRequest
0 голосов
/ 17 марта 2020

Я написал строку в bash для подсчета всех слов во всех текстовых файлах на моем P C, которая выглядит следующим образом:

wc -w $(find -type f -name "*.txt")

Кажется, работать хорошо, когда я использую его на небольших участках диска, например, на рабочем столе, но когда я пытаюсь использовать find на HOME или даже Documents, происходит сбой со странной ошибкой:

wc: invalid option -- 'F'

Когда используется только часть для поиска файлов (find -type f -name "*.txt"), ошибок нет, она печатает все текстовые файлы, как и ожидалось.

В чем может быть проблема?

1 Ответ

3 голосов
/ 17 марта 2020

Пусть find сам поместит файлы в командную строку wc:

find . -type f -name '*.txt' -exec wc -w -- {} +

... или, если ваш find слишком стар для поддержки -exec ... {} +, вы можете используйте xargs:

find . -type f -name '*.txt' -print0 | xargs -0 wc -w --
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...