Ich kann an Ort und Stelle nicht bekommen Bearbeitung Perl Einzeiler unter ActivePerl laufen zu arbeiten, wenn ich sie mit einer Backup-Erweiterung angeben:Warum muss ich bei Verwendung von ActivePerl die Option -i mit einer Backup-Erweiterung angeben?
C:\> perl -i -ape "splice (@F, 2, 0, q(inserted text)); $_ = qq(@F\n);" file1.txt
Can't do inplace edit without backup.
Der gleiche Befehl mit -i.bak
oder -i.orig
eine Behandlung funktioniert, sondern schafft eine unerwünschte Sicherungsdatei in diesem Prozess.
Gibt es einen Weg um dies?
So ist es eine Windows-Beschränkung. Ich hatte gehofft, dass ich das Backup nicht mit einem separaten Befehl "aufheben" müsste ... sieht so aus als müsste ich es tun. Danke für die Hilfe. – Zaid
Nicht vollständig verwandt, aber in-Place-Bearbeitung auf Sed in Windows scheint für mich zu arbeiten. Ich kann sehen, dass Ihr Beispiel in sed nicht funktionieren würde, aber es könnte hilfreich sein zu wissen. – Mike
@Mike: An meinem Ende, 'sed' In-Place-Bearbeitung verlässt temporäre Dateien wie z. 'sedGihEwg' im Dateisystem - Ihres nicht? Welche Version hast du? Ich benutze 'GNU sed Version 4.2.1'. – zb226