我有 2 个这样的文件:
文件 1
1 2 3 。. .
1 -2 4。. .
1 2 5 。. .
. . . . . .
. . . . .
文件 2
1 0.33 3 . . .
2 0.14 4 。. .
3 2.155 5 . . .
. . . . . .
. . . . . .
我需要逐行检查file1中的条件($1==1 && $2==-2)并修改file2中的相应行,$3=-2
我正在尝试:
awk -F '\t' '{ BEGIN { FS=OFS="\t" } if ($1==1 && ($2==-2) {getline < "file2" ; $3=8; print $0} else {getline < "file2" ; print $0} }' file1
所以输出文件应该是:
1 0.33 3 . . .
2 0.14 8 。. .
3 2.155 5 . . .
. . . . . .
. . . . . .
但似乎修改了某些字符或空格。也许使用 Python 更容易解决这个问题?有什么建议吗?