일괄 찾기 및 바꾸기(단 하나의 파일 내에서)를 수행해야 하는 코드가 있습니다.
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