
Из руководства по grep
, общая форма использования grep выглядит так:
grep options pattern input_file_names
В частности, указано: «Входных имен файлов может быть ноль или более».
Какие файлы являются кандидатами для поиска, если нет ни одного имени файла? Пример.grep mystr
решение1
Отman grep
:
file A pathname of a file to be searched for the patterns. If no file
operands are specified, the standard input shall be used.
Поэтому он будет ждать, пока вы введете какой-либо текст, если не задействован конвейер или перенаправление.
решение2
Он читает из своегостандартный ввод(дескриптор файла 0), если не указано имя файла.
grep foo
эквивалентно:
grep foo -
Это позволяет делать такие вещи, как:
grep foo < file
Или:
cmd | grep foo
Если grep foo
запустить его из командной строки интерактивной оболочки в терминале, то grep
будет выполнено чтение с терминального устройства, то есть из того, что вы вводите с клавиатуры.