Bash Brace Expansão da Shell falha [duplicado]

1

Eu tenho 5 arquivos chamados file1 , file2 , file3 , file4 , file5 ,. Eu estou tentando executar o seguinte comando echo "contents" >> file{1,2,3,4,5} . Eu recebo o seguinte erro quando executo este comando; %código%. Meu objetivo é fazer eco de algum texto para multiplicar arquivos em um comando. Como posso conseguir isso? Agradecemos antecipadamente.

    
por chromechris 13.12.2016 / 22:48

1 resposta

4

Você não pode redirecionar para vários arquivos. Em vez disso, use tee -a ( -a para "append", pois na sua pergunta você usa o operador de redirecionamento de acréscimo >> ):

echo "contents" | tee -a file{1,2,3,4,5}

Outra opção é usar zsh em vez de bash, que pode redirecionar para vários arquivos:

[birdsnest ~]% echo foo > /tmp/{foo,bar}
[birdsnest ~]% cat /tmp/foo 
foo
[birdsnest ~]% cat /tmp/bar 
foo
    
por 13.12.2016 / 22:51