Где делает grep-r, ищут по умолчанию?

Попробуйте основы Ubuntu 10.10

16
17.05.2012, 08:43
2 ответа

На самом деле это не ищет нигде. Это ожидает входа от стандартного входа.

Попробуйте это:

beast:~ viroos$ grep foo

когда Вы вводите строку, содержащую "нечто", и совершаете нападки, входят, эта строка будет повторена иначе, курсор будет перемещен в новую строку, но grep ничего не распечатает.

24
27.01.2020, 19:48
  • 1
    Поскольку я прокомментировал выше grep -r PATTERN с более новой версией GNU grep не будет читать стандартный вход, но искать шаблон в текущем каталоге (см. фиксацию). Это изменение имеет смысл, так как Вы, вероятно, не хотите искать стандартный вход, когда Вы указываете -r флаг. –  hluk 16.05.2012, 18:13
  • 2
    я проверил свою grep версию, это 2.10, таким образом, этот ответ совершенно релевантен. Btw, теперь, я буду знать, что ожидать от более новых версий grep. –   17.05.2012, 08:49

Точно, поскольку в предыдущем ответе Maciek говорится:

На самом деле это не ищет нигде. Это ожидает входа от стандартного входа.

Однако можно записать в stdin уже запускающей программы, если Вы имеете/proc в наличии путем передачи по каналу данных в, он - 0th первый дескриптор:

В одном выполненном терминале

grep "hello"

и посмотрите, что он ожидает неограниченно долго... В другом терминальном типе это:

echo "hello $USER" > /proc/`pgrep grep`/fd/0

посмотрите первую терминальную печать привет и Ваше имя пользователя.

3
27.01.2020, 19:48

Теги

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