파일 텍스트가 있습니다(이름이 색인화되어 있음).
Variazione su Eraclito, <link-1262>§§§</link>
vecchio e il mare, <link-715>§§§</link>, <link-895>§§§</link>, <link-104>§§§</link>
vento tra i salici, <link-355>§§§</link>
vergine e lo zingaro, <link-459>§§§</link>, <link-1564>§§§</link>
<link-...>§§§</link>의 내용에 §§§ 대신에 다음과 같이 프로그레시브 숫자를 추가해야 했습니다.
Variazione su Eraclito, <link-1262>1</link>
vecchio e il mare, <link-715>1</link>, <link-895>2</link>, <link-104>3</link>
vento tra i salici, <link-355>1</link>
vergine e lo zingaro, <link-459>1</link>, <link-1564>2</link>
답변1
방법은 다음과 같습니다 awk
.
awk 'c=0;{while(match($0, /§§§/) > 0){c++;sub(/§§§/, c, $0)}};1' infile
카운터 를 설정 c
하고 §§§
행에 카운터 값이 포함되어 있는 한 각 항목을 카운터 값으로 대체하고 각 대체 전에 후자를 증가시킵니다.§§§
c
답변2
그리고 perl
:
perl -pe '$n = 0; s/§§§/++$n/ge' < file
파일을 수정하려면:
perl -i -pe '$n = 0; s/§§§/++$n/ge' file