You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Linux快捷方式计算文件中两列差值并输出指定结果

用awk快速处理文本列计算需求

这事儿交给awk就对了,它天生就是用来处理这类文本列操作的工具,一行命令就能搞定:

awk '{print $1, $3 - $2, $4, $5, $6, $7}' your_input_file > output_file

命令细节解释:

  • awk会逐行读取你的输入文件,自动按空格分割每一行的内容
  • $1 保留第一列的scaffold编号内容
  • $3 - $2 自动计算第3列与第2列的数值差,用这个差值替换掉原来的两列
  • $4到$7 直接保留原文件中第4到第7列的所有内容
  • 最后通过>把结果输出到新的output_file里,不会修改原文件,更安全

如果需要直接覆盖原文件(记得先备份!):

如果你不想生成新文件,想直接修改原文件,可以借助sponge工具(需要先安装moreutils包,比如Debian/Ubuntu用apt install moreutils,RHEL/CentOS用yum install moreutils):

awk '{print $1, $3 - $2, $4, $5, $6, $7}' your_input_file | sponge your_input_file

要是没有sponge,也可以用临时文件中转的方式:

awk '{print $1, $3 - $2, $4, $5, $6, $7}' your_input_file > temp_file && mv temp_file your_input_file

用这个命令处理你给出的示例内容,完全能得到你想要的输出格式,不管文件多长都能高效处理~

内容的提问来源于stack exchange,提问作者Alex Trevylan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 06:53:46