Perguntas sobre 'pipe'

Um pipe conecta a saída de um programa à entrada de outro programa. Isso é usado especialmente para implementar o shell | operador.
2
respostas

Como eu fecho um pipe FIFO?

Este script: #!/bin/bash tmppipe=/tmp/temppipe mkfifo $tmppipe echo "test" > $tmppipe cat $tmppipe exit Não finaliza. Eu suponho que o comando cat está esperando por um EOF do pipe; como faço para enviar um?     
04.06.2015 / 09:27
1
resposta

Shell one-liner para adicionar uma linha no meio de um tubo

Eu escrevo um script que envia o arquivo de entrada para o CPP, depois para o grep e, em seguida, para um determinado programa: cpp $1 | grep -v "#" | theprogram Mas, "o programa" requer que a entrada comece com uma certa linha constante...
19.01.2014 / 17:49
1
resposta

Diff stdin após piping através de um comando

Eu gostaria de algo na forma de (preencha os espaços em branco): cmd1 | ____ cmd2 ____ Isso foi equivalente a isso, mas sem gravar nenhum arquivo: cmd1 > temp cmd2 < temp | diff temp - cmd1 não é realmente um comando, é um fl...
13.01.2017 / 05:04
1
resposta

Faz loop através de blocos de dados binários do stdin no Bash

Estou procurando algo como while IFS= read -r -n $length str; do ... done , mas para dados binários. É possível fazer isso usando dd ou outras ferramentas? Existe alguma técnica para fazer com que essas ferramentas consigam ver quando o pip...
08.03.2014 / 17:19
2
respostas

Reutilizando dados de tubulação para diferentes comandos

Eu gostaria de usar o mesmo pipe para diferentes aplicativos, como em: cat my_file | { cmd1 cmd2 cmd3 } O Cmd1 deve consumir parte da entrada. O Cmd2 deve consumir outra parte e assim por diante. No entanto, cada cmd consome mais...
22.07.2013 / 20:24
1
resposta

Ksh perde dados após piping 16k bytes

Descobri recentemente que o ksh pode perder alguns dados depois de imprimir mais de 16K bytes no stdout se estiver bloqueado por alguns segundos. Este script test.sh imprime 257 * 64 (16448) bytes: #!/usr/bin/ksh i=0 while [[ i -lt 257...
18.12.2012 / 09:50
2
respostas

Por que o Subversion fornece um erro de cano quebrado quando canalizado na cabeça?

Se eu fizer um svn log | head após a décima linha de saída, recebo uma mensagem de erro: svn: Write error: Broken pipe O que está acontecendo aqui? Eu não vi nenhum outro comando fazer isso quando usado com head . Subversão é hos...
03.01.2013 / 23:44
2
respostas

“comando | menos ”vs“ menos (comando) ”

Um "idioma" comum para visualizar grandes quantidades de saída de comando é canalizá-lo para less , via command | less . No entanto, também é possível (talvez apenas em bash , não testado em outros shells) usar a sintaxe less <(command...
24.07.2014 / 19:44
3
respostas

grep canalizando para sed, substituindo inline; mas eu quero sed para imprimir o nome do arquivo e alterei a linha. É possível?

Aqui está o meu comando (pausa intencional): grep FOO "/Users/gjtorikian/blah" -l | xargs sed -i '' '/FOO/{s/FOO/BAR/g; w /dev/stdout }' No nível alto: grep para FOO no diretório blah ; canalizar apenas o nome do arquivo (por causa d...
25.02.2012 / 20:17
2
respostas

Problema com os tubos. O tubo termina quando o leitor terminar

Estou no OSX, usando o bash, tentando entender os canais. Eu gostaria de deixar um programa se comunicar em duas direções com um shell bash. Eu quero configurar isso de tal forma que este é sempre o mesmo shell, para que eu possa fazer o cd para...
04.07.2013 / 15:03