如何用awk/sed等工具为每行首个Control添加1-5循环序列?
### 两种目标格式要求 - **第一种:按5行分组,组内数字一致** 每5行分为一组,组内所有行的首个`Control`后添加相同数字,数字按1-5循环。例如前5行变为`Control1_Control_XX`,接下来5行变为`Control2_Control_XX`,第11-15行回到`Control1_Control_XX`。 - **第二种:每行依次循环1-5** 每行首个`Control`后按1、2、3、4、5的顺序循环添加数字,即第1行加1,第2行加2,…第5行加5,第6行加1,以此类推。 --- ## 实现方案(使用awk工具) ### 方案一:5行一组,组内数字相同 将`input.txt`替换为你的实际文件名,执行命令: ```bash awk -v group_size=5 '{ num = int((NR - 1)/group_size) % 5 + 1 sub(/Control/, "Control" num) print }' input.txt
方案二:每行依次循环1-5
执行命令:
awk '{ num = NR % 5 num = (num == 0) ? 5 : num sub(/Control/, "Control" num) print }' input.txt
内容的提问来源于stack exchange,提问作者justinian482
相关产品推荐
相关产品推荐

