Escrevendo para vários arquivos com cat

7

Eu tenho alguns arquivos html vazios que eu quero escrever. Estou tentando isso

cat account_settings/account_settings.html >> assets/assets.html, users/users.html

para tentar gravar nos arquivos assets.html e users.html .

Como posso escrever em vários arquivos?

    
por Le Qs 16.11.2016 / 02:13

2 respostas

14

Você pode usar o comando tee

NAME
       tee - read from standard input and write to standard output and files

por exemplo,

cat account_settings/account_settings.html | tee -a assets/assets.html users/users.html

ou (usando o redirecionamento de entrada)

tee -a assets/assets.html users/users.html < account_settings/account_settings.html

Como observado na página de manual, tee também envia o conteúdo para o terminal (saída padrão) - se você não quiser ver isso, redirecione o stdout para null

tee -a assets/assets.html users/users.html < account_settings/account_settings.html > /dev/null
    
por steeldriver 16.11.2016 / 02:19
6

Basta fazer um loop pela lista de arquivos que você deseja

for file in assets/assets.html users/users.html
do
    cat account_settings/account_settings.html >> "$file"
done
    
por Sergiy Kolodyazhnyy 16.11.2016 / 02:22