Ich habe einen Text, der in jeder Zeile mit endet.|
Und ich muss das .|
in jeder 5. Zeile ersetzen durch.}
Antwort1
Wenn Sie Zugriff auf Unix-Tools (einschließlich Cygwin) haben, können Sie dies mit folgendem tun sed
:
sed '0~5s/\.|$/.}/'
wie in
sed -i.bak '0~5s/\.|$/.}/'Dateiname
Dies verwendet sed
'sErste~SchrittAdressform, was bedeutet „jedesSchritt'te Zeile beginnend mit ZeileErste.”
Wenn dem |
immer ein.
, wie Sie sagen, dann können Sie die Punkte aus dem Befehl weglassen:
sed '0~5s/|$/}/'