Eu tenho três diretórios a,b,c e cada um tem um arquivo chamado old.txt
Gostaria de copiar o conteúdo do arquivo new.txt para cada um desses arquivos. minha abordagem é
$ cat < new.txt > {a,b,c}/old.txt
Mas estou ficando
bash: {a,b,c}/old.txt: ambiguous redirect
Por quê? Como isso pode ser feito com Cat and Brace Expansion em um único comando?
O Bash não pode fazer redirecionamentos para vários destinos, pois dividir a saída exigiria um processo intermediário para ler o comando e gravar em todos os destinos. (No entanto, o Zsh tem suporte integrado para isso.)
Você pode usar o
tee
utilitário para fazer isso: