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
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?
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
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á.
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
Você pode usar um loop:
for (( i=1; i<=N; i++ )); do cat file"$i".dat; done > bigfile.dat