我正在尝试用文件2的第3列替换整个列(文件1中的第2列)。我知道如何使用awk对一个文件进行此操作,但是我认为使用cut会更好,因为我的文件超出了数量awk允许的列数(见下文)
文件是用空格分隔的,并且有很多列...但是我只想将文件1的第2列替换为文件2的第3列,并保持其他所有内容不变。
所有行彼此匹配,因此无需重新排列任何内容。
示例文件
文件1
ID X A 2
ID A I 8
文件2
ID E 8 4
ID T 2 4
awk 'FNR==NR{a[NR]=$3;next}{$2=a[FNR]}1' f2 f1
使用awk和多个文件接收此错误。 awk:超出程序限制:最大字段数= 32767
我认为这样的事情应该是我应该做的...
cut -f3 file2 | paste -
但是我不知道该如何替换file1中的f2
答案 0 :(得分:0)
cut -f1 file1 > temp.1
cut -f3 file2 > temp.2
cut -f3- file1 > temp.3post
paste temp.1 temp.3 temp.3post