如何修改awk命令实现从指定数值开始每N次匹配.txt加前缀
解决方案
你只需要在原有awk命令基础上增加起始值参数和对应的初始化逻辑即可,修改后命令如下:
awk -v n=2 -v start=3 'BEGIN{pfx=start-1} { newline=""; while ( x=index($0,".txt")) { if(cnt%n==0) pfx++; newline=newline substr($0,1,x-1) pfx substr($0,x,3) ; $0=substr($0,x+3); cnt++} print newline $0}' 0.txt
修改说明:
- 新增
-v start=3自定义变量,你可以按需修改3为你想要的起始计数值 - 新增
BEGIN{pfx=start-1}初始化块,提前将前缀变量的初始值设为起始值减1,保证第一次触发递增时刚好等于你指定的起始数值,不会出现偏移
运行上述命令即可得到你给出的预期输出结果。
内容的提问来源于stack exchange,提问作者7beggars_nnnnm
相关产品推荐
相关产品推荐

