ファイルテキストがあります(名前が索引付けされています)。
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