高度な検索と置換プログラム

高度な検索と置換プログラム

一括検索と置換(単一のファイル内で)を実行する必要があるコードがあります。

100を超えるプロジェクトに対して、次のことを行う必要があります。

回転:

begin();
Random code in between.

begin();
More random code...

100 more "begin()"s...

begin();

入力する:

begin(1);
Random code in between.

begin(2);
More random code.

100 more "begin()"s...

begin(102);

ベストアンサー1

perl -pe 's/begin\(/$&. ++$n/ge' < input-file

または内部編集の場合(たとえば、ファイル自体の変更されたコピーでファイルを置き換える):

perl -pi.back -e 's/begin\(/$&. ++$n/ge' input-and-output-file

.back冒険的でバックアップが不要な場合は削除してください)。

上記は、begin(everを同じ()に置き換え、$&変数()の増分値を()に追加します。$n++$n.

begin()代わりに交換するには、次の手順を実行しますbegin(

perl -pe 's/begin\(\K\)/++$n.")"/ge' < input-file

おすすめ記事