Xin lỗi, nhưng sed dường như không hoạt động như bạn muốn, ví dụ, sed! = Awk (có thể cấu hình được).
Tôi đã tải xuống số ssed executable và đầu ra trợ giúp không đề cập đến bất kỳ tùy chọn nào cho điều này, vì tôi chắc chắn bạn biết.
Bạn có thể thử sửa đổi source code hoặc liên hệ với tác giả.
Đọc qua các tập tin NEWS trong mã nguồn, tôi thấy
* The s/// command now understands the following escape (in both halves):
\a an "alert" (BEL)
\f a form-feed
\n a newline
\r a carriage-return
\t a horizontal tab
\v a vertical tab
\oNNN a character with the octal value NNN
\dNNN a character with the decimal value NNN
\xNN a character with the hexadecimal value NN
Bạn đã thử `s/\ r //' như lệnh cuối cùng trong kịch bản của bạn?
Tôi đã quét nhanh trong hầu hết các tệp văn bản, nhưng không tìm thấy bất kỳ thứ gì khiến tôi tin rằng có tùy chọn cmd-line sẽ cung cấp những gì bạn cần.
Như bạn không muốn sử dụng unix2dos, như một hành động của sự lạc quan sheerest, tôi cung cấp các tùy chọn sử dụng tr để cleanout những pesky '\ r của
sed -i -f yourSedScript yourFile
mv yourFile yourFile.wrk
tr -d '\015' yourFile.wrk > yourFile
Cuối cùng, vì nó có vẻ như nếu bạn đang chỉnh sửa các tập tin Unix trên một cửa sổ hộp, bạn phải chuyển các tập tin thông qua 'ftp' hoặc tương tự để có được Unix của bạn để Windows, tại sao không dựa vào các tùy chọn ftp để chuyển đổi kết thúc dòng?
Tôi hy vọng điều này sẽ hữu ích.
Tôi biết unix2dos ... Tôi chỉ không muốn xử lý tệp của mình bằng sed trước và sau đó phân tích cú pháp bằng cách sử dụng unix2dos. Tôi muốn nói cho sed sử dụng \ n làm dấu phân cách dòng mới chứ không phải \ r \ n, mặc dù tôi đang làm việc trên máy tính Windows. – mort