tôi không thể có được chỉnh sửa tại chỗ Perl một lớp lót chạy dưới ActivePerl làm việc trừ khi tôi xác định chúng có phần mở rộng sao lưu:Tại sao tôi phải chỉ định chuyển đổi -i với phần mở rộng sao lưu khi sử dụng ActivePerl?
C:\> perl -i -ape "splice (@F, 2, 0, q(inserted text)); $_ = qq(@F\n);" file1.txt
Can't do inplace edit without backup.
Lệnh cùng với -i.bak
hoặc -i.orig
một công trình xử nhưng tạo ra một tập tin sao lưu không mong muốn trong quá trình.
Có cách nào khác không?
Vì vậy, đó là giới hạn của Windows. Tôi đã hy vọng rằng tôi sẽ không phải 'bỏ liên kết' bản sao lưu với một lệnh riêng biệt ... có vẻ như tôi sẽ phải làm vậy. Cảm ơn đã giúp đỡ. – Zaid
Không hoàn toàn liên quan, nhưng tại chỗ chỉnh sửa trên sed trong cửa sổ dường như làm việc cho tôi. Tôi có thể thấy rằng ví dụ của bạn sẽ không làm việc trong sed, nhưng nó có thể hữu ích để biết. – Mike
@Mike: Cuối cùng, tính năng chỉnh sửa tại chỗ của chúng tôi để lại các tệp tạm thời như ví dụ: 'sedGihEwg' trong hệ thống tập tin - của bạn không? Bạn đã nhận được phiên bản nào? Tôi đang sử dụng 'GNU sed phiên bản 4.2.1'. – zb226