sed chỉ thay thế các dòng với các nhóm phù hợp


7

Hiện tại, tôi có lệnh này:

sed 's/\([^C]*\)/\1AB/'

Nó chèn "AB" trước phiên bản đầu tiên của "C" trên một dòng. Nhưng nó cũng thêm "AB" vào cuối mỗi dòng mà không có "C".

Làm thế nào tôi có thể chỉ chỉnh sửa khi tìm thấy "C"?

Câu trả lời:


5

Có gì sai khi chỉ đơn giản là thay thế C?

sed 's/C/ABC/'

Điều này sẽ chỉ thay thế phiên bản đầu tiên (nếu bạn muốn thay thế tất cả, bạn sẽ thêm gvào cuối).


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.