Cópia de conteúdo dos arquivos [RESOLVIDO]

1. Cópia de conteúdo dos arquivos [RESOLVIDO]

guilherme
guilhermeof

(usa Outra)

Enviado em 18/12/2015 - 11:50h

Olá pessoal,
Estou com uma dificuldade em copiar o conteúdo de vários arquivos pra somente um.
Tenho vários arquivos .txt e preciso unir o conteúdo de todos em um só.

Executei o comando:

cat /caminho_do_arquivo/*.txt > novoarquivo.txt

Porém a primeira linha do segundo arquivo tem ficado junto com a ultima linha inserida no 'novoarquivo', conforme exemplo abaixo:

1|aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa|yadfuagbf|5532.23|15:30:00
2|bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb|inaidbfsuag3
3|aaaaaaaaaaa|bbbbbbbbb
4|ccccccccccccccccc|dddd
2|ggggggggg|hh
3|iiiiii|jjj|aaa|
1|kkkkkkk|llllll1|aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa|yadfuagbf|5532.23|15:30:00
2|mmmmmmmmm|inaidbfsuag3
3|pppppppp|bbbbbbbbb
4|jjjjjjj|dddd
2|uuuuuuuuuuuuuuu|hh
3|ttttttt|jjj|aaa|
1|rrrrrrrr|llllll

Repararem que na linha 7, após o 1|kkkkkkk|llllll ele deveria inserir o 1|aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa|yadfuagbf|5532.23|15:30:00 abaixo, ficando assim?

1|aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa|yadfuagbf|5532.23|15:30:00
2|bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb|inaidbfsuag3
3|aaaaaaaaaaa|bbbbbbbbb
4|ccccccccccccccccc|dddd
2|ggggggggg|hh
3|iiiiii|jjj|aaa|
1|kkkkkkk|llllll
1|aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa|yadfuagbf|5532.23|15:30:00
2|mmmmmmmmm|inaidbfsuag3
3|pppppppp|bbbbbbbbb
4|jjjjjjj|dddd
2|uuuuuuuuuuuuuuu|hh
3|ttttttt|jjj|aaa|
1|rrrrrrrr|llllll

Alguém sabe como resolver?? Talvez tenha que utilizar algum parâmetro, mas já tentei vários e não consegui ajustar...



  


2. Re: Cópia de conteúdo dos arquivos [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 18/12/2015 - 12:08h

Primeiro, você deve inserir uma linha em branco ao final de todos os arquivos:

for i in *.txt
do
echo "" >> $i
done


Por fim, você pode juntar todos os arquivos num só:

for i in *.txt
do
cat $i >> ARQUIVO.txt
done



3. Re: Cópia de conteúdo dos arquivos

Perfil removido
removido

(usa Nenhuma)

Enviado em 18/12/2015 - 12:11h

Você pode executar esses dois laços numa única linha, direto pelo terminal, usando os comandos abaixo:

for i in *.txt; do echo "" >> $i; done
for i in *.txt; do cat $i >> ARQUIVO.txt; done


4. Re: Cópia de conteúdo dos arquivos [RESOLVIDO]

guilherme
guilhermeof

(usa Outra)

Enviado em 18/12/2015 - 16:55h

@unnslacker

Excelente ajuda!!!
Deixou o arquivo com alguns espaços em branco, porém funciona certinho pro meu objetivo que é fazer importação pro Oracle.
Muito obrigado.

Abs.


5. Re: Cópia de conteúdo dos arquivos [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 18/12/2015 - 20:09h

guilhermeof escreveu:

@unnslacker

Excelente ajuda!!!
Deixou o arquivo com alguns espaços em branco, porém funciona certinho pro meu objetivo que é fazer importação pro Oracle.
Muito obrigado.

Abs.


De nada; até é possível "eliminar" esses excessos de linhas brancas checando o conteúdo das últimas linhas do arquivo e só adicionar a "newline" se realmente precisar;






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts