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

如何通过Unix脚本将65000个产品码按999分组并格式化?

Unix脚本实现产品码分组格式化需求

需求概述

现有一个约65000行的文本文件,每行是一个产品码,需要将这些产品码按每组999个拆分,每个产品码添加单引号后用逗号分隔,最终输出格式示例:

'87453454','65778445',

脚本方案(awk实现,一次完成处理)

直接用awk即可完成所有操作,无需拆分后再合并,脚本如下:

awk '{
    printf "\047%s\047,", $0
    count++
    if (count % 999 == 0) {
        printf "\n"
    }
} END {
    if (count % 999 != 0) {
        printf "\n"
    }
}' input.txt > output.txt

脚本说明

  • \047 是单引号的ASCII转义写法,避免脚本中引号嵌套引发语法错误
  • 每读取一行产品码,直接格式化为'产品码',的形式输出
  • 用count变量统计已处理行数,每满999行就输出换行符实现分组
  • END块处理最后一组不足999行的情况,确保输出末尾有换行

使用方法

  1. 将你的产品码文件命名为input.txt(或替换脚本中的input.txt为实际文件名)
  2. 在终端执行上述awk命令
  3. 处理后的结果会保存到output.txt中

备选方案(拆分到单独文件)

如果需要将每组输出到独立文件,可结合split和xargs实现:

# 按999行拆分原文件,生成前缀为group_的小文件
split -l 999 input.txt group_

# 遍历拆分后的文件,逐个格式化内容
for file in group_*; do
    xargs -I {} echo "'{}'," < "$file" > "formatted_$file"
done

该方案会生成多个formatted_group_xx文件,每个文件对应一组格式化后的产品码。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 05:01:19