Nếu bạn muốn thêm văn bản vào cuối mỗi dòng tại chỗ (trong cùng một tệp), bạn có thể sử dụng -i
tham số, ví dụ:
sed -i'.bak' 's/$/:80/' foo.txt
Tuy nhiên, -i
tùy chọn này là phần mở rộng Unix không chuẩn và có thể không khả dụng trên tất cả các hệ điều hành.
Vì vậy, bạn có thể cân nhắc sử dụng ex
(tương đương với vi -e
/ vim -e
):
ex +"%s/$/:80/g" -cwq foo.txt
sẽ thêm :80
vào mỗi dòng, nhưng đôi khi nó có thể thêm vào các dòng trống.
Vì vậy, phương pháp tốt hơn là kiểm tra xem dòng có thực sự chứa bất kỳ số nào không và sau đó nối nó vào, ví dụ:
ex +"g/[0-9]/s/$/:80/g" -cwq foo.txt
Nếu tệp có định dạng phức tạp hơn, hãy xem xét sử dụng regex thích hợp, thay vì [0-9]
.