我有文件 1:
A1 1 NA
A1 2 NA
A1 3 NA
A1 4 A
A1 5 G
A1 6 T
A1 7 NA
A1 8 NA
A1 9 NA
A2 1 NA
A2 2 NA
A2 3 T
A2 4 NA
和文件 2:
A1 4 A
A1 5 B
A1 6 T
A2 3 T
我想用文件 2 中的值 4、5、6 和 3 替换文件 1 中 A2 的行号 4、5、6 和 3
新文件 3 中的预期输出:-
A1 1 NA
A1 2 NA
A1 3 NA
A1 4 A
A1 5 B
A1 6 T
A1 7 NA
A1 8 NA
A1 9 NA
A2 1 NA
A2 2 NA
A2 3 T
A2 4 NA
我想在 Linux 中尝试这个。 我尝试使用谷歌搜索,但找不到更好的答案。
最佳答案
另一种选择,使用 awk:
awk 'NR==FNR{a[$1,$2]=$0;next} ($1,$2) in a {$0=a[$1,$2]}1' file2 file1
A1 1 NA
A1 2 NA
A1 3 NA
A1 4 A
A1 5 B
A1 6 T
A1 7 NA
A1 8 NA
A1 9 NA
A2 1 NA
A2 2 NA
A2 3 T
A2 4 NA
关于linux - 如何在 linux 中用另一行替换行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49486532/