Você pode usar colar :
$ :|paste -d',' file1 - | paste -d' ' - file2
1, John
2, Sam
3, George
4, Ken
ou:
$ :|paste -d', ' file1 - file2
Eu tenho dois arquivos:
file1 contém:
1
2
3
4
o arquivo2 contém:
John
Sam
George
Ken
Eu quero combinar esses arquivos para criar um arquivo (arquivo3)
1, John
2, Sam
3, George
4, Ken
Meu pensamento foi usar loops aninhados e adicionar a vírgula para cada linha,
for x in file1
do
echo "$x" >> file3
for y in file2
echo ",$y" >> file3
done
done
Existe um comando que eu preciso usar? Como faço para que x e y apareçam em uma linha para cada entrada em ambos os arquivos?
Você pode usar colar :
$ :|paste -d',' file1 - | paste -d' ' - file2
1, John
2, Sam
3, George
4, Ken
ou:
$ :|paste -d', ' file1 - file2
Outra paste
solution
paste -d ', ' file1 /dev/null file2
1, John
2, Sam
3, George
4, Ken
você pode tentar isso:
paste -d, file1 file2 > file3
saída (arquivo3):
1,John
2,Sam
3,George
4,Ken
sed 's/$/, /' file1 | paste -d 'sed 's/$/, /' file1 | paste -d '%pre%' - file2
' - file2
Tags shell-script