Como combinar vários arquivos de dados em um arquivo big data?

0

Eu tenho vários arquivos de dados como file1.dat , file2.dat e assim por diante. Eu quero combiná-los todos em um grande arquivo de dados para que o conteúdo do arquivo big data deve se parecer com

content1

content2

.

.


contentN

Eu sei que

cat file1.dat file2.dat .... >> bigfile.dat

fará o trabalho, mas não quero digitar todos os nomes de arquivo . Existe algum comando que o faça?

    
por Parveen 10.03.2017 / 14:22

4 respostas

1

Se todos os seus arquivos de entrada realmente corresponderem ao padrão file , seguido por algum número, seguido por .dat , então isso iria concatenar todos -los juntos em bigfile.dat :

cat file*.dat >bigfile.dat
    
por 10.03.2017 / 14:35
1

Então eu suponho que eles não são nomeados como no seu exemplo, caso contrário você poderia simplesmente fazer

cat file*.dat > bigfile.dat

Então você precisa de algum esquema para encontrar todos os seus arquivos, provavelmente com find . Para eample, se você quiser combinar todos os arquivos com .dat :

find /your/search/dir -name "*.dat" -exec cat {} \; >> bigfile.dat

Certifique-se de não criar bigfile.dat no diretório de pesquisa ou também será encontrado por find , o que não funcionará.

    
por 10.03.2017 / 14:36
1

Bem, isso depende exatamente de quantos arquivos existem e da convenção de nomenclatura usada, mas dado o seu exemplo:

cat file[0-9].dat
content1
content2

Os arquivos (individualmente):

cat file1.dat 
content1
cat file2.dat 
content2
    
por 10.03.2017 / 14:37
0

Você pode usar um loop:

for (( i=1; i<=N; i++ )); do cat file"$i".dat; done > bigfile.dat
    
por 10.03.2017 / 14:35