Để bình luận dòng 2 đến 4 của bla.conf:
sed -i '2,4 s/^/#/' bla.conf
Để thực hiện lệnh mà bạn muốn, chỉ cần đặt phần trên vào tập lệnh shell có tên là comment:
#!/bin/sh
sed -i "$1"' s/^/#/' "$2"
Tập lệnh này được sử dụng giống như tập lệnh của bạn ngoại trừ các dòng đầu tiên và cuối cùng được phân tách bằng dấu phẩy chứ không phải dấu gạch ngang. Ví dụ:
comment 2,4 bla.conf
Một lệnh uncomment có thể được tạo tương tự.
Tính năng nâng cao
sed
Lựa chọn dòng của khá mạnh mẽ. Ngoài việc chỉ định các dòng đầu tiên và cuối cùng theo số, cũng có thể chỉ định chúng theo một biểu thức chính quy. Vì vậy, nếu bạn muốn chỉ huy tất cả các dòng từ một chứa foo
đến một chứa bar
, hãy sử dụng:
comment '/foo/,/bar/' bla.conf
Hệ thống BSD (OSX)
Với BSD sed, -i
tùy chọn cần một đối số ngay cả khi nó chỉ là một chuỗi rỗng. Vì vậy, ví dụ, thay thế lệnh trên cùng bằng:
sed -i '' '2,4 s/^/#/' bla.conf
Và, thay thế lệnh trong tập lệnh bằng:
sed -i '' "$1"' s/^/#/' "$2"
sed
,perl
vv Đặc biệt A bởi terdon!