The stream editor sed
Nguồn: Tổng hợp từ cuốn sách “The Unix Programming Environment” của Brian W. Kernighan và Rob Pike.
Bài viết này giới thiệu những chức năng cơ bản nhất của sed, một chương trình xử lí văn bản cực mạnh trong Unix. Bài viết có sử dụng (mà không giải thích chi tiết) một số regular expression (cơ bản) và một số lệnh Unix (cũng cơ bản
)
Cú pháp chung của sed
Cú pháp chung của một lệnh sed là
sed 'danh sách các lệnh' 'danh sách các file đầu vào'
sed sẽ đọc từng dòng của các file đầu vào và thực hiện từng lệnh trong danh sách các lệnh đối với các dòng đó. Sau đó, sed ghi dữ liệu ra vào thiết bị đầu ra chuẩn.
Chẳng hạn, chúng ta có thể thay tất cả các từ UNIX trong một file thành UNIX(TM) bằng câu lệnh sau:
sed 's/UNIX/UNIX(TM)/g' filename
Khi thực hiện lệnh này, sed sẽ:
- Đọc vào từng dòng của filename
- Đối với mỗi dòng đọc vào, sed sẽ thực hiện lệnh s/UNIX/UNIX(TM)/g, tức là thay thế (s = substitute) tất cả (g = global) các từ UNIX bởi UNIX(TM).
s (substitute) là một lệnh của ed, chương trình tiền thân của sed.
Chú ý: sed không thay đổi nội dung của file đầu vào.
Chúng ta luôn sử dụng dấu nháy đơn (single quote) để bao quanh các lệnh của sed nhằm tránh trường hợp các kí tự đặc biệt bị dịch thành ý nghĩa khác bởi shell.
Sau đây là 1 số lệnh sed thú vị!!!
2 comments