Vì vậy, câu hỏi thực tế là - có ai có ý tưởng làm thế nào để loại bỏ M-BM-
nhân vật đặc biệt mà không có nguy cơ mất các nhân vật khác không?
Tôi có một chuỗi văn bản:
" . . ."
đó là
space dot space dot space dot
Tôi đang cố gắng thay thế tất cả sự xuất hiện của chuỗi này trong tệp văn bản thành
"..."
đó là
dot dot dot
Tôi đã cố gắng làm với sed:
sed -r 's:\s\.\s\.\s\.:...:g' -i sed-dots
Thật không may, nó không thay đổi tập tin đầu vào dù chỉ một chút. Tệp: https://www.dropbox.com/s/46zmiruy3ln85a1/sed-dots
Khi tôi cố gắng thay thế cùng một chuỗi trong trình soạn thảo văn bản (tôi sử dụng geany), nó được tìm thấy và thay thế đúng.
Lý do duy nhất tôi có thể nghĩ là một số (hoặc tất cả) những không gian đó không thực sự là không gian, mà là một số nhân vật đặc biệt.
Có ai có ý tưởng làm thế nào để tìm và thay thế chuỗi đó bằng sed (hoặc bất kỳ công cụ dòng lệnh nào khác) không? Vui lòng kiểm tra ý tưởng của bạn trên tệp của tôi, vì vấn đề không rõ ràng như có vẻ như - đây là lý do tại sao tôi hỏi về nó.
Sau khi sử dụng cat -A
myfile, có vẻ như các vấn đề đó không phải là không gian, mà là M-BM-
ký tự đặc biệt. Sử dụng bất kỳ biểu tượng được .
đề xuất cho tìm kiếm không phải là một ý tưởng tốt vì có nguy cơ một số nhân vật khác sẽ bị xóa.
echo
thay vì trích dẫn một tệp, ít nhất là khi bạn gửi một tệp, bạn biết trình bao không giải thích bất cứ điều gì và cũng không phải là tiếng vang.