Sed - Mẹo và thủ thuật
= [Sed] Mẹo và thủ thuật
Thay thế
Thay thế "foo" bằng "thanh" trên mỗi dòng
Chỉ có lần xuất hiện đầu tiên
sed 's / foo / bar /'
Chỉ dành cho trường hợp thứ 3
sed 's / foo / bar / 3'
Tất cả các lần xuất hiện
sed 's / foo / bar / g'
Ngay trước khi xảy ra lần cuối
sed 's / \ (. * \) foo \ (. * foo \) / \ 1bar \ 2 /'
Chỉ trường hợp cuối cùng
sed 's / \ (. * \) foo / \ 1bar /'
Thay thế "foo" bằng "thanh" chỉ các dòng có chứa "plop"
sed '/ plop / s / foo / bar / g'
Thay thế "foo" bằng "bar" ngoại trừ các dòng có chứa "plop"
sed '/ ngồi phịch /! s / foo / thanh / g '
Thay thế "Foo" hoặc "foo" bằng "bar" trên mỗi dòng
sed 's / [Ff] oo / bar / g'
Thay thế "xanh" hoặc "trắng" hoặc "đỏ" bằng "xanh"
sed 's / xanh \ | trống \ | đỏ / xanh / g '
Trưng bày
Dòng thứ 1 (đầu -1)
quyến rũ
5 dòng đầu tiên (đầu -5)
sed'5 q '
sed'1, 5! d '
Dòng cuối cùng (đuôi -1)
sed-n '$ p'
sed '$! d "
5 dòng cuối cùng (đuôi -5)
sed-e: ae '$ q, N, 6, $ D; ba'
2 dòng cuối cùng (đuôi -2)
sed '$! N; $! Đ '
Chỉ các dòng khớp với một lý do hoặc một biểu thức thông thường
sed-n '/ mẫu / p'
sed '/ regrec /! d '
Chỉ những dòng trùng khớp không phải là một lý do hoặc một biểu thức thông thường
sed-n '/ mẫu /! p '
sed '/ regrec / d'
Dòng đứng trước một mẫu hoặc biểu thức chính quy
sed-n '/ mẫu / (g; 1! p;) h'
Dòng theo mẫu hoặc biểu thức chính quy
sed-n '/ regapi / (n, p;)'
Tẩy
=== Dung lượng và tab ==
Xóa khoảng trắng và tab
Ở đầu dòng
sed / s [^ t] * / /
sed 's / ^ \ s * / /' # Sử dụng tham số "\ s"
Cuối dòng
sed 's / [\ t] * $ //'
Ở đầu và cuối dòng
sed 's / ^ [\ t] * //; s / [\ t] * $ // '
Dòng trống
Xóa các dòng trống
Tất cả các dòng trống
sed '/ ^ $ / của
sed '/./! của
Chỉ những người ở trên cùng
sed '/./, $! của
sed-nr '/./, $ /(.*)/ s \ 1 / p' # cảm ơn bạn
Chỉ những người ở cuối
sed-e: ae '/ ^ \ n * $ / ($ d N; ba'-e') '
Khoảng thời gian đều đặn
Loại bỏ một dòng đều đặn
Tất cả các cặp dòng
sed'1 ~ 2d '
Tất cả các dòng lẻ
sed'2 ~ 2d '
Mỗi n dòng từ dòng n
sed'3 ~ 2d '# 2 Tất cả các dòng từ dòng 3
Linh tinh
Tham gia dòng
Đính kèm dòng 2 by 2
sed '$! N s / \ n / / '
Đính kèm 3 dòng bằng 3
sed '$! N s / \ n //; $! N s / \ n / /; '
Nếu một dòng kết thúc bằng dấu gạch chéo ngược (\), hãy thêm dòng sau và thay thế dòng cuối (\ n) bằng khoảng trắng
sed-e: ae '/ \ \ $ / N s / \ \ \ n / /; tôi '
Nếu một dòng bắt đầu bằng dấu bằng (=), hãy thêm nó vào dòng trước đó và thay thế dấu bằng (=) bằng dấu cách
sed-e: ae '$! N s / \ n = / /; ta'-e 'P, D'