Você pode tentar usar sort
sort -n -k1 f1.txt f2.txt > newfile
de man sort
você pode ler que sort
Writes sorted concatenation of all FILE(s) to standard output.
Você pode precisar selecionar a coluna usada para classificar ( -k1
) ou selecionar uma classificação de numeração -n
.
Se os seus arquivos não estiverem estritamente ordenados, você deve fazer um script que leia 12 linhas alternativamente do primeiro e do segundo arquivo com dois descritores de arquivos [ 1 ], [ 2 ] .
Pode resultar em algo semelhante a este
#!/bin/bash
while true
do
for ((i=1;i<=12;i++)); do
read -r f1 <&3 && echo "$f1" || exit 1
done
for ((i=1;i<=12;i++)); do
read -r f2 <&4 && echo "$f2" || exit 2
done
done 3<file1 4<file2
Até que seja capaz de lê-lo, ele sai com um valor de erro diferente se for do primeiro ou do segundo ciclo.