Ich eingebettet ein Perl Einzeiler in einem Perl-Skript, dessen Zweck ist in-Stelle ersetzt eine Zeichenfolge durch eine andere für jede Zeile der Dateien mit der Namenserweiterung .ini, aber Ich habe festgestellt, dass jede Datei mit .bak gesichert wird.Verwenden von Perl Einzeiler in Perl-Skript
Da im One-Liner, ich nur -i
statt -i.bak
angeben, frage ich mich, warum die .bak-Datei generiert werden könnte.
foreach my $dir (glob "*.ini") {
system qq(perl -i -pe 's|Default|UTF-8|' $dir);
}
Eine andere Frage ist, ob es eine bessere, prägnante Perl-Skript das gleiche Ziel (ohne BAK-Datei gesichert werden sollen) zu erreichen, unabhängig von Einzeiler oder nicht.
Arbeiten Sie auf einem Windows-System? – Borodin
@Borodin, ja, alles unerwartet in Windows? – Zii
Sie können unter Windows nicht direkt bearbeiten. Siehe meine Antwort unten. – Borodin