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