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

如何重复拼接文件内容并在每次循环时对最后一列数值自增

解决方案

你原有代码仅直接追加原文件完整内容,未修改每行最后一列数值,因此无法实现自增效果。可参考以下两种实现方式:

方式1:修改原有Shell循环逻辑

# 先清空输出文件,避免历史内容干扰
> out.txt
# 请将{1..5}中的5替换为你需要的重复次数n
for i in {1..5};do 
  awk -v cur_cnt="$i" '{$NF=cur_cnt;print}' OFS="\t" file.txt >> out.txt
done

参数说明:

  • -v cur_cnt="$i":将Shell循环的当前次数变量传入awk
  • $NF:指代每行的最后一列
  • OFS="\t":指定输出列分隔符为制表符,保持和原文件格式一致,若原文件用空格分隔可删除该参数

方式2:纯awk实现(仅单次读取文件,适合大文件/高重复次数场景)

# 请将-v n=5中的5替换为你需要的重复次数n
awk -v n=5 '
{
  # 先缓存原文件所有行内容
  line_cache[NR] = $0
}
END{
  # 按指定次数循环输出
  for (count=1;count<=n;count++) {
    for (line_idx=1;line_idx<=NR;line_idx++) {
      $0 = line_cache[line_idx]
      $NF = count
      print
    }
  }
}' OFS="\t" file.txt > out.txt

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 19:45:01