Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save ezhov-da/83c7cbd78f0318d8195bc2f196f78b22 to your computer and use it in GitHub Desktop.
Save ezhov-da/83c7cbd78f0318d8195bc2f196f78b22 to your computer and use it in GitHub Desktop.
Перенаправление стандартного потока вывода и программные каналы
По умолчанию вы не можете использовать утилиту grep для обработки данных стандартного потока ошибок stderr приложения при использовании программных каналов в рамках строки команды, так как данная утилита получает данные исключительно из стандартного потока вывода stdout приложения.
paul@debian7:~$ rm file42 file33 file1201 | grep file42
rm: невозможно удалить "file42": Нет такого файла или каталога
rm: невозможно удалить "file33": Нет такого файла или каталога
rm: невозможно удалить "file1201": Нет такого файла или каталога
С помощью конструкции 2>&1 вы можете переправить данные из стандартного потока ошибок stderr в стандартный поток вывода stdout приложения. Это обстоятельство позволяет обрабатывать передаваемые посредством программного канала данные из обоих потоков с помощью следующей команды.
paul@debian7:~$ rm file42 file33 file1201 2>&1 | grep file42
rm: невозможно удалить "file42": Нет такого файла или каталога
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment