2011-01-06 67 views
0

我正在使用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

你使用什麼語言/編輯器? – Phrogz 2011-01-06 14:46:53

回答

0

不適用於sed。去用一些現代的東西:

perl -pe 's/[A-Z]{3},\d*/$count++.",$&,"/egi' 
2

正則表達式匹配的字符串。它們不用於在匹配發生時操作變量。

你不會說你正在使用什麼語言,但我建議你找到方法來返回給定字符串內的所有匹配。一旦你有了,你可以迭代列表併爲增量計數插入你的值。