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

Bash脚本:为重复前缀条目添加数字后缀的实现方法

解决方案

可以用Bash的关联数组统计每个前缀的出现次数,逐行处理时动态生成带编号的输出,这种方法内存占用低,适合处理大规模数据。

完整脚本

#!/bin/bash

# 初始化关联数组用于计数
declare -A count

while IFS= read -r line; do
    # 提取第一个点号前的前缀
    prefix="${line%%.*}"
    # 对应前缀的计数加1
    ((count[$prefix]++))
    # 根据计数输出结果
    if [[ ${count[$prefix]} -gt 1 ]]; then
        echo "$prefix ${count[$prefix]}"
    else
        echo "$prefix"
    fi
done <<< "$list"

效果验证

用你提供的输入测试:
输入:

apple.LONG_UUID.BLAH.BLAH
orange
apple.ANOTHER_UUID
chair.01.AB

执行脚本后输出:

apple 1
orange
apple 2
chair

完全符合期望。

说明

  • 关联数组count会记录每个前缀出现的次数,每处理一行就更新对应前缀的计数
  • 逐行处理的方式不需要一次性加载所有数据到内存,适合处理超大文件或数据集
  • 所有原始行唯一的特性不影响逻辑,我们只关心前缀的重复情况

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 14:47:17