Con solo awkcomando:
awk -F, '{getline f1 <"file2" ;print f1,$3,$4}' OFS=, file1
Obtenga una línea del archivo1 y almacénela en una variable local f1, luego imprima la línea que se almacenó f1y finalmente imprima los campos tercer ( $3) y adelante ( $3) del archivo1 que se delimitaron con una coma por ,completo, y cambie el OFS (separador de campo de salida [espacio por predeterminado]) a coma ( ,).
El comando corto sería así:
paste -d, file2 <(cut -d, -f3- file1)
A B C D
A B C D
A B C D
A B C D
pegue el archivo2, luego corte y pegue la tercera columna a la siguiente ( -f3-) del archivo1.
Con awky paste(opción A)
El siguiente comando también copia las dos últimas columnas ( C,D) del archivo1 al final de cada línea en el archivo2:
paste -d',' file2 <(awk -F',' '{print $(NF-1)","$NF}' file1)
El comando anterior pega el contenido del archivo2, luego imprime un delimitador de coma ( -d',') y luego pega los dos últimos campos ( NFes el índice del último campo y $NFes la cadena que es su índice NF. Así $(NF-1)es el segundo campo antes del último campo) del archivo1 cuando ese índice redefine o se divide con el espectador de coma ( -F',').
Con awky paste(opción B)
Este comando también es el mismo que el anterior ( $3y $4apunta al tercer y cuarto campo de cada línea del archivo1):
paste -d',' file2 <(awk -F',' '{print $3","$4}' file1)
O otra solución con cutcomando:
paste -d, <(cut -d, -f1 file1) <(cut -d, -f2 file2) <(cut -d, -f3- file1)
el comando cortar en el comando anterior primero corta el primer campo ( -f1que está indexado con el delimitador de coma ( -d.)) del archivo1 ( cut -d, -f1 file1), luego corta y pega el segundo campo del archivo2 ( cut -d, -f2 file2) y finalmente corta y pega la tercera columna ( -f3) a los siguientes ( -) del archivo1 ( cut -d, -f3- file1) nuevamente.
Este comando también devuelve el mismo resultado:
paste -d, <(awk -F',' '{print $1}' file1) <(awk -F',' '{print $2}' file2) <(awk -F',' '{print $3","$4}' file1)
pegue el segundo campo del archivo1 ( awk -F',' '{print $1}' file1) luego imprima una coma ( -d,), luego pegue la segunda columna del archivo2 ( awk -F',' '{print $2}' file2), finalmente pegue la segunda y última columna del archivo1 ( awk -F',' '{print $3","$4}' file1) nuevamente.