剪切 file1 中的列并替换 file2 中的列
cutting column in file1 and replacing column in file2
我正在尝试用文件 2 的第 3 列替换整个列(文件 1 中的第 2 列)。我知道如何使用 awk 对一个文件执行此操作,但我认为使用 cut 会更好,因为我的文件超过awk 允许的列数(见下文)
文件是 space 分开的,并且有很多列...但我只对用文件 2 的第 3 列替换文件 1 的第 2 列感兴趣,并保持其他一切不变。
所有行相互匹配,因此无需重新排列任何内容。
示例文件
文件 1
ID X A 2
身份证我8
文件 2
ID E 8 4
ID T 2 4
awk 'FNR==NR{a[NR]=;next}{=a[FNR]}1' f2 f1
使用 awk 和多个文件收到此错误。
awk:超出程序限制:最大字段数大小=32767
我觉得这样的事情应该是我应该做的...
cut -f3 file2 | paste -
但我不知道如何替换 file1 中的 f2
cut -f1 file1 > temp.1
cut -f3 file2 > temp.2
cut -f3- file1 > temp.3post
合并文件以获得最终输出
paste temp.1 temp.3 temp.3post
我正在尝试用文件 2 的第 3 列替换整个列(文件 1 中的第 2 列)。我知道如何使用 awk 对一个文件执行此操作,但我认为使用 cut 会更好,因为我的文件超过awk 允许的列数(见下文)
文件是 space 分开的,并且有很多列...但我只对用文件 2 的第 3 列替换文件 1 的第 2 列感兴趣,并保持其他一切不变。
所有行相互匹配,因此无需重新排列任何内容。
示例文件
文件 1
ID X A 2
身份证我8
文件 2
ID E 8 4
ID T 2 4
awk 'FNR==NR{a[NR]=;next}{=a[FNR]}1' f2 f1
使用 awk 和多个文件收到此错误。 awk:超出程序限制:最大字段数大小=32767
我觉得这样的事情应该是我应该做的...
cut -f3 file2 | paste -
但我不知道如何替换 file1 中的 f2
cut -f1 file1 > temp.1
cut -f3 file2 > temp.2
cut -f3- file1 > temp.3post
合并文件以获得最终输出
paste temp.1 temp.3 temp.3post