gpt4 book ai didi

linux - 从另一个文件中减去后打印一个选择列

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:56:34 25 4
gpt4 key购买 nike

我有两个行数和列数相等的文件。我想从另一个文件的第二列中减去一个文件的第二列而不考虑缺失值。例如

ifile1.txt    
3 5 2 2
1 ? 2 1
4 6 5 2
5 5 7 1

ifile2.txt
1 2 1 3
1 3 0 2
2 ? 5 1
0 0 1 1

这里“?”是缺失值,计算时不应考虑。

ofile.txt i.e. [$2(ifile1.txt) - $2(ifile2.txt)]
3
?
?
5

我可以通过以下方式做到没有任何缺失值。但是不能像这里的“?”这样的缺失值成功。

paste ifile1.txt ifile2.txt > ifile3.txt
awk '{n=NF/2; for (i=1;i<=n;i++) printf "%5.2f ", $i-$(i+n); print ""}' ifile3.txt > ifile4.txt
awk '{printf ("%.2f\n",$2)}' ifile4.txt > ofile.txt

最佳答案

$ awk 'NR==FNR{a[NR]=$2;next} {print ((a[FNR]$2)~/?/ ? "?" : a[FNR]-$2)}' file1 file2
3
?
?
5

关于linux - 从另一个文件中减去后打印一个选择列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37536233/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com