З єдиною awkкомандою:
awk -F, '{getline f1 <"file2" ;print f1,$3,$4}' OFS=, file1
Отримайте рядок з file1 і збережіть його в локальну змінну f1, потім надрукуйте рядок, який зберігається в, f1і, нарешті, надрукуйте треті ( $3) і вперед ( $3) поля з файлу1, які повністю розділені комою ,, і змініть OFS (роздільник вивідного поля [пробіл від за замовчуванням]) до коми ( ,).
Коротка команда буде такою:
paste -d, file2 <(cut -d, -f3- file1)
А Б В Г
А Б В Г
А Б В Г
А Б В Г
вставити файл2, потім вирізати і вставити третій стовпець до наступного ( -f3-) з файлу1.
З awkі paste(варіант А)
Нижче команда також копіює останні два стовпці ( C,D) з файлу1 в кінці кожного рядка у файлі2:
paste -d',' file2 <(awk -F',' '{print $(NF-1)","$NF}' file1)
Вище вставте вміст file2, потім надрукуйте роздільник комами ( -d','), потім вставте два останніх поля ( NFце індекс останнього поля і $NFце рядок, який є його індексом NF. Так $(NF-1)це друге поле перед останнім полем) з file1, коли цей індекс переосмислює або розбивається з комою глядача ( -F',').
З awkі paste(варіант B)
Ця команда також така ж, як і вище ( $3і $4вказує на третє і четверте поле кожного рядка з файлу1):
paste -d',' file2 <(awk -F',' '{print $3","$4}' file1)
Або інше рішення з cutкомандою:
paste -d, <(cut -d, -f1 file1) <(cut -d, -f2 file2) <(cut -d, -f3- file1)
Команда cut у наведеній вище команді спочатку вирізає перше поле ( -f1яке індексується роздільником коми ( -d.)) з file1 ( cut -d, -f1 file1), потім вирізає та вставить друге поле file2 ( cut -d, -f2 file2) і, нарешті, вирізає та вставить третій стовпчик ( -f3) у параметри ( -) знову з file1 ( cut -d, -f3- file1).
Ця команда також повертає той самий результат:
paste -d, <(awk -F',' '{print $1}' file1) <(awk -F',' '{print $2}' file2) <(awk -F',' '{print $3","$4}' file1)
вставити друге поле з file1 ( awk -F',' '{print $1}' file1), потім надрукувати кому ( -d,), потім вставити другий стовпчик з file2 ( awk -F',' '{print $2}' file2), нарешті знову вставити другий і останній стовпчик file1 ( awk -F',' '{print $3","$4}' file1).