我正在使用Unix.sh
文件,并且在文件中我有一个带有变量的正则表达式,每次都必须递增。计数设置为1.每次都应该递增。
stringA = echo $stringA | sed "s/[A-Za-z]\{3\},[0-9]*/$count++,&,/g"
所以我的输出应该是
prgm([(1,ABC,1,),(2,XYZ,1,),(3,PQR,1,)]),....
但我得到的是
prgm([(0++,ABC,1,),(0++,XYZ,1,),(0++,PQR,1,)]),....
答案 0 :(得分:3)
正则表达式用于匹配字符串。它们不会在匹配发生时操纵变量。
您没有说出您使用的语言,但我建议您找到返回给定字符串中所有匹配项的方法。完成后,您可以遍历列表并插入递增计数的值。
答案 1 :(得分:1)
不是用sed。去使用现代的东西:
perl -pe 's/[A-Z]{3},\d*/$count++.",$&,"/egi'