У меня есть два файла в linux, первый файл имеет 4 столбца, а второй - 2 столбца. Я хочу объединить эти файлы в новый файл, который имеет первые 3 столбца из файла 1 и первый столбец из файла 2. Я пробовал awk, но мои данные из файла 2 были помещены в файл 1.
Слияние двух файлов в linux с другим столбцом
Ответ 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