Вопросы с тегом «pipe»

Канал Unix соединяет файловые дескрипторы двух процессов. Канал создается с помощью функции POSIX pipe (), объявленной в <unistd.h>. Оболочки обеспечивают создание канала между процессами, используя «|».

396
Отключить буферизацию в трубе

У меня есть скрипт, который вызывает две команды: long_running_command | print_progress В long_running_commandпечатает прогресс , но я несчастна с ним. Я использую, print_progressчтобы сделать его более приятным (а именно, я печатаю прогресс в одной строке). Проблема: подключение канала к stdout...

155
Как обрезать начальные и конечные пробелы в каждой строке некоторого вывода?

Я хотел бы удалить все начальные и конечные пробелы и вкладки из каждой строки в выводе. Есть ли простой инструмент, как trimя мог бы передать свой вывод? Пример файла: test space at back test space at front TAB at end TAB at front sequence of some space in the middle some empty lines with...

148
Bash: Что делает «> |»?

Я только что видел это записано; $ some-command >| /tmp/output.txt Вертикальные каналы, используемые в стандартных перенаправлениях, «передающие» выходные данные одной команды другой, >|на самом деле совершенно бесполезны, поскольку будут такими же, как и >в этом...

146
Насколько велика труба буфера?

В качестве комментария я запутался, почему «| true» в make- файле имеет тот же эффект, что и «|| true» пользователь cjm пишет: Еще одна причина, чтобы избежать | Значение true состоит в том, что если команда выдаст достаточно выходных данных для заполнения буфера канала, она заблокирует ожидание...

119
Передать вывод предыдущей команды next в качестве аргумента

У меня есть команда, которая выводит данные в stdout ( command1 -p=aaa -v=bbb -i=4). Выходная строка может иметь следующее значение: rate (10%) - name: value - 10Kbps Я хочу получить этот вывод, чтобы сохранить этот показатель (я думаю, что труба будет полезна здесь). И, наконец, я хотел бы, чтобы...

102
В чем разница между «cat file | ./binary »и« ./binary <файл »?

У меня есть двоичный файл (который я не могу изменить), и я могу сделать: ./binary < file Я также могу сделать: ./binary << EOF > "line 1 of file" > "line 2 of file" ... > "last line of file" > EOF Но cat file | ./binary дает мне ошибку. Я не знаю, почему это не работает с...

98
Псевдофайлы для временных данных

Я часто хочу передавать относительно короткие строковые данные (хотя это может быть несколько строк) в программы командной строки, которые принимают входные данные только из файлов (например, wdiff) повторяющимся образом. Конечно, я могу создать один или несколько временных файлов, сохранить там...

89
В каком порядке работают команды по каналам?

Я никогда не задумывался о том, как на самом деле оболочка выполняет конвейерные команды. Я всегда говорили , что «стандартный вывод одной программы получает по трубопроводу в потоке ввод других,» как способ мышления о трубах. Естественно, я подумал, что в случае, скажем, A | B, A запускается...

86
Процесс замещения и трубы

Мне было интересно, как понять следующее: Передача стандартного вывода команды в стандартную команду другого является мощной техникой. Но что, если вам нужно передать стандартный вывод нескольких команд? Это где процесс замены приходит. Другими словами, может ли процесс замещения делать то, что...

74
Можно ли направить стандартный вывод на одном сервере в стандартный вывод на другом сервере?

stdoutна одном сервере CentOS необходимо подключить к stdinдругому серверу CentOS. Это возможно? Обновить ScottPack, MikeyB и Jofel имеют правильные ответы. Я присудил ответ Скотту, потому что, хотя в моем вопросе безопасность не указывалось как требование, всегда приятно быть в безопасности. Тем...

74
Не можете трубу в diff?

Я хотел быть умным и сравнивать удаленный файл с локальным файлом без предварительной загрузки его вручную. Я могу получить содержимое удаленного файла ssh user@remote-host "cat path/file.name" Тем не менее, трубопровод, который к diff ssh user@remote-host "cat path/file.name" | diff path/file.name...

64
Программа, которая передает STDIN в STDOUT с раздетыми цветовыми кодами?

У меня есть команда, которая производит вывод в цвете, и я хотел бы передать его в файл с вычеркнутыми кодами цвета. Есть ли команда, которая работает как, catкроме того, что она удаляет цветовые коды? Я планирую сделать что-то вроде этого: $ command-that-produces-colored-output | stripcolorcodes...

63
Как сделать двунаправленную трубу между двумя программами?

Каждый знает , как сделать однонаправленный трубу между двумя программами (связывают stdoutс первого и stdinот второго): first | second. Но как сделать двунаправленную трубу, т.е. перекрестную привязку stdinи stdoutдве программы? Есть ли простой способ сделать это в...

62
Как скачать архив и распаковать его без сохранения архива на диск?

Я хотел бы скачать и распаковать архив по заданному каталогу. Вот как я это делал до сих пор: wget http://downloads.mysql.com/source/dbt2-0.37.50.3.tar.gz tar zxf dbt2-0.37.50.3.tar.gz mv dbt2-0.37.50.3 dbt2 Вместо этого я хотел бы скачать и распаковать архив на лету , без записи tar.gzна диск. Я...

52
Для чего используется команда mknod?

Я только начал использовать Ubuntu в качестве основной ОС и хотел узнать о вещах, которые мне не следует делать, и узнавать о плохих вещах, которые люди делали в прошлом. Я наткнулся на это письмо об ужасных историях, которые администраторы UNIX и Linux делали в своей собственной системе, когда они...

52
Как использовать команду watch с конвейерной цепочкой команд / программ

Я обычно watchпользуюсь утилитой linux для просмотра вывода команды несколько раз каждые n секунд, как вwatch df -h /some_volume/ Но мне кажется, что я не могу использовать watchс такой последовательной командой, как: $ watch ls -ltr|tail -n 1 Если я делаю это, watchдействительно смотрю, ls -ltrи...

51
Каковы преимущества использования именованного канала над неназванным?

Я просматривал набор вопросов для интервью, задаваемых администратором Unix; Я нашел тему под названием "именованная труба". Я погуглил тему; в какой-то степени я смог понять это: - именованные каналы || ФИФО Но все же я чувствую, что мне не хватает знаний о том, когда использовать этот конкретный...

50
Должен ли я заботиться о ненужных кошках?

Многие утилиты командной строки могут получать свои данные либо из канала, либо в качестве аргумента имени файла. Для длинных сценариев оболочки, я считаю, что начало цепочки с помощью catделает ее более читаемой, особенно если первая команда будет нуждаться в многострочных аргументах. сравнить sed...