Слияние двух файлов в linux с другим столбцом

У меня есть два файла в linux, первый файл имеет 4 столбца, а второй - 2 столбца. Я хочу объединить эти файлы в новый файл, который имеет первые 3 столбца из файла 1 и первый столбец из файла 2. Я пробовал awk, но мои данные из файла 2 были помещены в файл 1.

Ответ 1

paste file1 file2 | awk '{print $1,$2,$3,$5}'

Ответ 2

Не уверен, какие столбцы вы хотите от каждого файла, но что-то вроде этого должно работать:

paste <file1> <file2> | awk '{print $1,$2,$3,$5}'

Первые три столбца будут выбраны из file1, а четвертый пропущен, а затем выберите первый столбец из второго файла.

Ответ 3

Если файлы имеют одинаковое количество строк, вы можете сделать что-то вроде:

awk '{ getline v < "file2"; split( v, a ); print a[2], $1, $3 }' file1

для печати колонок 1 и 3 из файла 1 и столбца 2 из файла2.

Ответ 4

you can try this one without paste command:
awk '{print $1}{print $2}{print $3}' file1 >> mergedfile
awk '{print $2}' file2 >> mergedfile