Para sobrescrever cada arquivo em uma hierarquia de diretório inteira com o conteúdo do arquivo data
:
find . -type f ! -path './data' -exec sh -c 'tee "$@" <data >/dev/null' sh {} +
Se você quiser anexar o conteúdo de data
, use tee -a
acima.
O ! -path ./data
é para evitar a modificação do arquivo que estamos lendo.
O shell filho receberá vários nomes de caminhos de find
e usará tee
para distribuir o conteúdo de data
para esses arquivos.
Para usar cat
em vez de tee
:
find . -type f ! -path './data' -exec sh -c '
for pathname do
cat data >"$pathname"
done' sh {} +
Aqui, para anexar os dados, use >>
no lugar de >
.
Execute isso em um diretório em que seja seguro fazer isso. Executá-lo em seu diretório home destruirá todos os seus arquivos. Para recuperar-se disso, você precisará restaurar a partir de um backup recente. Nunca execute comandos copiados e colados da Internet, sem saber o que eles fazem ou podem fazer.
Relacionados: