Como passar a saída de um eco para a entrada de outro?

1

Estou tentando o seguinte

echo 5 | echo

mas não consiga nada. O que está errado?

    
por Andriy 04.04.2016 / 16:02

1 resposta

1

Comandos como grep e awk podem aceitar a entrada padrão ( STDIN) como um parâmetro ou argumento usando um pipe. No entanto, outros, como cp e echo , desconsideram o fluxo de entrada padrão e dependem exclusivamente dos argumentos encontrados após o comando.

Usando o comando xargs você pode construir e executar linhas de comando a partir da entrada padrão, por exemplo, em seu caso:

echo 5 | xargs echo

Não existe uma regra exata para saber se um comando aceita a entrada padrão, mas você pode ter uma leve noção usando essas duas regras:

  • Se o comando for usado para manipular de alguma forma o conteúdo de um arquivo ( grep , sed , awk etc.), geralmente ele pode receber entrada de STDIN.

  • Se o comando for usado para manipular o próprio arquivo (por exemplo, mv , rm , cp ) ou um processo (por exemplo, kill , lsof ) ou para retornar informações sobre algo ( Por exemplo, top , find , ps ) então não.

por 04.04.2016 / 16:07

Tags