no puede conseguir la edición en Perl de una sola línea que se ejecutan bajo ActivePerl para trabajar a menos que los precisen con una extensión de copia de seguridad:¿Por qué tengo que especificar el modificador -i con una extensión de copia de seguridad cuando uso ActivePerl?
C:\> perl -i -ape "splice (@F, 2, 0, q(inserted text)); $_ = qq(@F\n);" file1.txt
Can't do inplace edit without backup.
El mismo comando con -i.bak
o -i.orig
funciona un lujo, pero crea un archivo de copia de seguridad no deseados en el proceso.
¿Hay alguna forma de evitar esto?
Por lo tanto, es una limitación de Windows. Esperaba que no tuviera que 'desvincular' la copia de seguridad con un comando separado ... parece que tendré que hacerlo. Gracias por la ayuda. – Zaid
No del todo relacionado, pero la edición in situ en sed en Windows parece funcionar para mí. Veo que su ejemplo no funcionaría en sed, pero podría ser útil saberlo. – Mike
@Mike: en mi extremo, la edición 'sed' in situ deja archivos temporales como, por ejemplo, 'sedGihEwg' en el sistema de archivos: ¿el tuyo no? ¿Qué versión tienes? Estoy usando 'GNU sed versión 4.2.1'. – zb226