Como eu adiciono os dados de vários arquivos em um arquivo?

0

Eu quero acrescentar dados de aproximadamente 500 arquivos em um arquivo e cada um desses arquivos estão localizados em seus respectivos diretórios.

Além disso, como posso verificar o conteúdo do arquivo mesclado, por exemplo, como eu verifico se os dados mesclados têm dados de todos os arquivos ou se não perdem nenhum dado de todos esses arquivos ou de cada arquivo.

    
por user58197 31.01.2014 / 05:28

1 resposta

1

Você pode usar cat com o operador >> . Dependendo da estrutura de diretórios e do local dos arquivos, você pode usar ls ou find para localizar os arquivos e, em um shell, repetir a iteração desses arquivos enquanto anexa a um arquivo de destino. Por exemplo:

for i in $(find /my/path -iname "*.txt")
do
    cat $i >> result.txt
    echo "====$i====" >> result.txt
done

Para verificar se você possui dados de todos os arquivos, você pode inserir um padrão temporário ao final de cada anexo no arquivo result.txt. Posteriormente, você poderá grep do padrão e verificar se todos os arquivos foram realmente anexados. Como mostrado no loop acima, o arquivo result.txt deve agora conter a linha ====filename==== para cada arquivo encontrado. Mais tarde, você pode remover essas linhas usando sed da seguinte forma:

sed /'^===='/d result.txt > tmp && mv tmp result.txt

Certifique-se de que o padrão escolhido seja exclusivo, caso contrário, outras linhas poderão ser excluídas com o comando sed acima.

    
por 31.01.2014 / 05:38