2011-01-06 7 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

+0

私はperlを使用しています – javanerd

答えて

0

sedではありません。現代的なものを使用してください:

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

正規表現がマッチする文字列のためのものです。一致が発生すると変数を操作するためのものではありません。

あなたはどの言語を使用しているかは言いませんが、指定した文字列内のすべての一致を返す方法を見つけることをお勧めします。一度それを持っていれば、リストを反復して、増分カウントの値を挿入することができます。