Перенаправление нескольких команд как вход

Я имею общее эмпирическое правило при покупке какой-либо технической книги, избегаю тех, которые весят, больше, чем телефонная книга (помните их? ;)). Избегайте любой книги для макетов, если Вы не думаете, что Вы - макет, избегаете любого перечисленного как "Библия".

Большие книги являются маркетинговой уловкой с тоннами пробела, большого шрифта и чрезмерных примеров.

Я сожалею, что не могу ответить на Ваш вопрос конкретно, поскольку существует слишком много хороших сайтов удара онлайн. (Google для них)

Хорошие книги раньше публиковались Prentice Hall. Kernigan, Ritchie, Щука, Aho, и т.д. все использовали Prentice Hall.

Я также нашел, что O'Reily был случаен; некоторые были превосходны, другие плохо.

Посмотрите, если коротко, и краткий с меньшим количеством примеров и большим количеством упражнений, оставленных читателю. Мои 0,02$

4
28.04.2013, 11:33
2 ответа

(Это относится для избиения в случае сомнения),

Вывод одной команды или одного конвейера может быть сделан входом другой команды путем создания (или расширения существующего) конвейер:

command1 | command2
command1 | command2 | command3

Несколько команд (включая конвейеры) могут быть объединены с подоболочкой или списком (команда группы). Эта комбинация становится первой частью конвейера затем:

(command1; command2 | command3; command4) | command5
{command1; command2 | command3; command4;} | command5 # note the ; before }

Другая возможность "здесь строка" (или даже "здесь документ"):

command2 <<< $(command1)

command2 <<EOT
First input line
$(command1)
Last input line
EOT

Другие случаи

Замена команды используется, когда вывод должен быть частью командной строки т.е. если одна команда должна видеть вывод другого как его собственный параметр:

echo $(date)

эхо видит вывод date как его параметр; как будто это было введено в командной строке.

Замена процесса делает вывод из другого процесса, появляющегося как содержание (non-seekable) файла данным как параметр на командной строке.

grep bar <(echo $'foo\nbar\nbaz')

смотрит на grep как

echo $'foo\nbar\nbaz' > /path/to/file
grep bar /path/to/file
5
27.01.2020, 20:58

Необходимо выполнить команды с помощью синтаксиса замены команды.

$ command < $(command2 | grep pattern)
-2
27.01.2020, 20:58
  • 1
    , который Попробовали это? pastebin.com/686v9iQr –  manatwork 28.04.2013, 11:46
  • 2
    @manatwork Вы возражали бы делать свои результаты формальным ответом так, чтобы этот вопрос мог быть успешно закрыт? –  Hauke Laging 28.04.2013, 11:54
  • 3
    @HaukeLaging, я предпочитаю позволять владельцу ответа для создания необходимых исправлений, вместо того, чтобы отправить параллельный ответ. В конце концов, Spack, кажется, является новым здесь, и возраст этого ответа является меньше, чем полчаса. –  manatwork 28.04.2013, 12:09

Теги

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