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

如何用Linux命令或Bash按第三列分组输出第六列内容

解决方案

用awk就能轻松实现按第三列分组合并第六列的需求,无需提前指定第三列的具体数值,命令如下:

awk '{arr[$3] = arr[$3] $6 " "} END {for (key in arr) {sub(/ $/, "", arr[key]); print arr[key]}}' 你的文件名.txt

命令说明:

  • arr[$3] = arr[$3] $6 " ":定义关联数组arr,以每行第三列的值作为数组键,将当前行第六列值追加到对应键的数组元素后,用空格分隔。
  • END块:所有行处理完成后执行遍历操作:
    • sub(/ $/, "", arr[key]):移除每个数组元素末尾多余的空格,避免最后一个值后留空
    • print arr[key]:输出合并后的第六列值

扩展:同时输出第三列的分组键

如果希望输出时带上第三列的对应值(比如格式为1: 4 103),可以修改print语句:

awk '{arr[$3] = arr[$3] $6 " "} END {for (key in arr) {sub(/ $/, "", arr[key]); print key ": " arr[key]}}' 你的文件名.txt

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 05:54:56