我在linux中有两个文件,第一个文件有4列,第二个文件有2列。我想将这些文件合并到一个新文件中,该文件包含文件1中的前3列和文件2中的第一列。我尝试了awk,但是文件2中的数据放在文件1下。
答案 0 :(得分:37)
paste file1 file2 | awk '{print $1,$2,$3,$5}'
答案 1 :(得分:6)
不确定您希望从每个文件中添加哪些列,但这样的内容应该有效:
paste <file1> <file2> | awk '{print $1,$2,$3,$5}'
将从file1
中挑选前三列,跳过第四列,然后从第二个文件中选择第一列。
答案 2 :(得分:2)
如果文件的行数相同,则可以执行以下操作:
awk '{ getline v < "file2"; split( v, a ); print a[2], $1, $3 }' file1
从文件1打印第1和第3列,从文件2打印第2列。
答案 3 :(得分:1)
you can try this one without paste command:
awk '{print $1}{print $2}{print $3}' file1 >> mergedfile
awk '{print $2}' file2 >> mergedfile