Provavelmente mais fácil de usar a combinação de paste+cut
$ paste -d'$ awk 'NR==FNR{a[FNR]=$0; next} {print substr($0,1,4) a[FNR] substr($0,9)}' File2.txt File1.txt
abcd1234efghijklmno
abcd4321efghijklmno
abcd6543efghijklmno
abcd5678efghijklmno
' <(cut -c1-4 File1.txt) File2.txt <(cut -c9- File1.txt)
abcd1234efghijklmno
abcd4321efghijklmno
abcd6543efghijklmno
abcd5678efghijklmno
-
-d'
para que as entradas sejam combinadas sem qualquer caractere entre<()
'- Veja também cole arquivos sem delimitador
-
cut -c1-4
é substituição de processos -
cut -c9-
fornece os primeiros quatro caracteres de cada linha -
awk
dá todos os caracteres de cada linha a partir da 9ª posição
Outra maneira é o processamento de dois arquivos idiomáticos usando NR==FNR{a[FNR]=$0; next}
$ paste -d'$ awk 'NR==FNR{a[FNR]=$0; next} {print substr($0,1,4) a[FNR] substr($0,9)}' File2.txt File1.txt
abcd1234efghijklmno
abcd4321efghijklmno
abcd6543efghijklmno
abcd5678efghijklmno
' <(cut -c1-4 File1.txt) File2.txt <(cut -c9- File1.txt)
abcd1234efghijklmno
abcd4321efghijklmno
abcd6543efghijklmno
abcd5678efghijklmno
-
File2.txt
salva todas as linhas dea
na matrizprint substr($0,1,4) a[FNR] substr($0,9)
com o número da linha como chave -
substr
useFile2.txt
para extrair caracteres necessários e inserir as linhas de %code% entre