Como copiar conteúdo de um arquivo e concatená-lo em um novo arquivo?

0

Eu tenho que fazer novos arquivos que contenham o conteúdo do arquivo original duas vezes e depois concatená-lo linha por linha. Por exemplo:

File 1 :

ABCDABCD
ABCDABCD

para New File 1 :

ABCDABCD
ABCDABCD
ABCDABCD
ABCDABCD

Editar: Consegui obter uma resposta para essa pergunta, mas fui informado de que este era o lugar errado para publicá-la. Obrigado pela ajuda e desculpe pelo local incorreto para postá-lo.

    
por gbrooks 09.04.2014 / 05:36

4 respostas

1

Você não pode concatenar um arquivo em si mesmo, mas pode concatenar e enviar um eco:

echo 'cat file1' >> file1

Toda vez que você fizer isso, o conteúdo do arquivo1 será duplicado.

E, de qualquer forma, esse não é o lugar para essa pergunta.

    
por animaletdesequia 09.04.2014 / 05:51
2

Acho que é isso que você está procurando

while read -r line; do echo "$line"; echo "$line"; done < file1 | sed 'N;s/\n/ /' > file2

O loop ajudará a duplicar todas as linhas de file1 e o comando sed combinará as duas linhas consecutivas em uma.

    
por Avinash Raj 09.04.2014 / 06:07
0

Qual idioma você está tentando usar?

Python:

#opens file in read mode
first_file=open("myfile.txt", 'r')
#uses x to grab entire file contents
x=first_file.read()
#Concatenate 2 times
x=x*2
#Close your first file
first_file.close()
#Open new file in write mode
new_file=open("myfile2.txt", 'w')
#Write the Concatenated text
new_file.write(x)
#Close the file
new_file.close()
    
por No Time 09.04.2014 / 06:21
0

Usando awk (por o que sua pergunta está dizendo):

awk '{printf ("%s %s\n", $0, $0)}' file1 >newfile

Com base em sua entrada e saída expostas, você pode:

awk '1;1' file1 >newfile
    
por sddgob 11.02.2018 / 05:49