команда linux grep -is "abc" имя файла | wc -l - PullRequest
1 голос
/ 03 февраля 2011

что означает s там, а также когда труба в туалет зачем?Я знаю, что в конечном итоге подсчитать количество abc, появившееся в имени файла, но не уверен насчет опции s для, а также канала до wc означает

linux command grep -is "abc" filename|wc -l

output

    47

Ответы [ 5 ]

2 голосов
/ 26 июня 2013

Рассмотрим,

command_1 |command_2

Роль канала в том, что он принимает вывод команды, записанной перед ним (команда_1 здесь), и передает ее в команду, написанную после нее (команда_2 здесь).

2 голосов
/ 03 февраля 2011

-s означает «подавить сообщения об ошибках о нечитаемых файлах», а канал для wc означает «взять вывод и отправить его в команду wc -l», которая эффективно подсчитывает количество совпавших строк. Вы можете сделать то же самое с опцией -c для grep: grep -isc "abc" filename

1 голос
/ 03 февраля 2011

На странице man есть все, что вы хотели бы знать о параметрах grep:

   -s, --no-messages
          Suppress  error  messages about nonexistent or unreadable files.
          Portability note: unlike GNU grep, traditional grep did not con-
          form to POSIX.2, because traditional grep lacked a -q option and
          its -s option behaved like GNU grep's -q option.  Shell  scripts
          intended to be portable to traditional grep should avoid both -q
          and -s and should redirect output to /dev/null instead.

Канал до wc -l - это то, что подсчитывает количество строк в строке "abc"появился на.Это не обязательно количество раз, когда строка появлялась в файле, поскольку одна строка с несколькими вхождениями будет считаться только 1.

0 голосов
/ 03 февраля 2011

С man grep:

   -s, --no-messages
          Suppress  error  messages about nonexistent or unreadable files.

Команда wc считает строки, слова и символы.С -l возвращает количество строк.

0 голосов
/ 03 февраля 2011

Страница руководства grep сообщает:

-s, --no-messages         suppress error messages

grep возвращает строки, в которых есть abc (без учета регистра).Вы передаете их по номеру wc, чтобы получить количество строк.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...