Bạn có thể giải quyết vấn đề bằng cách sử dụng vim, nơi bạn có thể dễ dàng với MinGW-w64 (Nếu bạn đã cài đặt Git đi kèm) hoặc Cygwin.
Vì vậy, quan trọng là sử dụng:
- Tùy chọn
-s
, mà sẽ thực hiện một kịch bản vim với các lệnh vim.
- Tùy chọn
-b
, sẽ mở tệp của bạn ở chế độ nhị phân, nơi bạn sẽ thấy các byte BOM khó xử này
- Tùy chọn
-n
, điều rất quan trọng! Tùy chọn này từ chối việc sử dụng các tập tin hoán đổi, vì vậy tất cả các công việc của bạn chạy trong bộ nhớ. Nó cung cấp cho bạn sự đảm bảo bởi vì nếu tệp lớn, các tệp hoán đổi có thể làm sai lệch quá trình.
Điều đó nói rằng, hãy chuyển sang mã!
Trước tiên, bạn tạo một tập tin đơn giản, đây có tên là 'kịch bản', mà sẽ giữ vim lệnh
echo 'gg"+gPggdtCZZ' > script
... chuỗi kỳ lạ này nói với vim "Tới đầu tập tin, sao chép từ đầu tiên và dán nó đằng sau con trỏ, vì vậy xóa tất cả mọi thứ cho đến khi nhân vật 'C', sau đó, lưu tập tin "
Note: Nếu file của bạn bắt đầu với nhân vật khác hơn là 'C', bạn có để xác định nó. Nếu bạn có 'ký tự đầu tiên' khác nhau, bạn có thể theo logic và tạo tập lệnh bash sẽ đọc ký tự đầu tiên và thay thế nó cho bạn trong đoạn mã ở trên.
Chạy lệnh vim:
vim -n -b <the_file> -s script
Nguồn
2017-06-22 00:58:55
Tôi không biết tại sao, nhưng hoạt động này đối với tôi. Cảm ơn! –
Nếu bạn muốn sử dụng Vim, lệnh này đơn giản hơn nhiều: 'vim" + set nobomb "" + wq "'. Bằng cách đó, bạn không cần phải biết ký tự hiển thị đầu tiên của tệp. –
Bạn có thể xây dựng trên các tệp hoán đổi gây rắc rối cho tập lệnh của mình không? Nó có nên trong suốt không? –