processamento de pipeline usando cat

1

original:

./A_process.py _ < input.dict > output.dict.tmp
./B_process.py _ < output.dict.tmp > output.dict
rm output.dict.tmp

Estou tentando fazer isso em um canal, então

cat input.dict | A_process.py _ | B_process.py _ > output.dict

no entanto, mostra "o comando A_process.py não encontrado" ...

Acho que algo está errado com o ambiente, mas não tenho certeza do que fazer.

    
por Luca 06.03.2018 / 16:24

1 resposta

1

Como @steeldriver escreveu em seu comentário, o problema que você está enfrentando é que o script que você está executando não está no seu PATH

A solução simples será adicionar o prefixo ./ ao nome do script, supondo que você esteja executando o comando na mesma pasta em que o script está localizado:

cat input.dict | ./A_process.py _ | ./B_process.py _ > output.dict

Outras opções podem ser:

  • Adicione o caminho do local do script na variável PATH .
  • Em vez de ./script_name , use o caminho completo do script /full/path/to/script/directory/A_process.py
por 06.03.2018 / 16:39

Tags