gpt4 book ai didi

awk 减去两个文件之间的许多列

转载 作者:行者123 更新时间:2023-12-01 09:12:30 24 4
gpt4 key购买 nike

如果我有两个文件,每个文件有 4 列数据,我想减去这些文件之间的列,我会这样做:

paste data1.txt data2.txt | awk '{ printf("%s %d %d %d\n", $1, ($2-$6), ($3-$7), ($4-$8); }' > out.txt

如果我有每个文件有 100 列的文件,并且我想在两个文件之间减去列而不写那么多($i-$j)、($k-$l)等,我应该如何做类似的事情。

谢谢。

最佳答案

使用循环。需要传入列数

awk -v cols=100 '{ 
printf "%s", $1
for (i=2; i <= cols; i++)
printf "%s%d", OFS, $i - $(cols+i)
printf "\n"
}'

关于awk 减去两个文件之间的许多列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48586172/

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