- n, quiet, silent
Các từ khóa lớp ký tự trong Unix/Linu
Một số từ khóa đặc biệt thường có sẵn cho các Regular Expression, đặc biệt các tiện ích GNU mà sử dụng các Regular Expression. Điều này là rất hữu dụng cho các Regular Expression Sed khi chúng đơn giản hóa các công việc và nâng cao khả năng đọc của nó.
Ví dụ, các ký tự từ a đến z cũng như các ký tự từ A đến Z ủy nhiệm một lớp ký tự là các từ khóa [[:alpha:]]
http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Page 122 Sử dụng từ khóa lớp ký tự chữ cái, lệnh này chỉ in những dòng trong tệp /etc/syslog.conf mà bắt Sử dụng từ khóa lớp ký tự chữ cái, lệnh này chỉ in những dòng trong tệp /etc/syslog.conf mà bắt đầu với một ký tự chữ cái.
$ cat /etc/syslog.conf | sed -n '/^[[:alpha:]]/p'
authpriv.* /var/log/secure mail.* -/var/log/maillog cron.* /var/log/cron uucp,news.crit /var/log/spooler local7.* /var/log/boot.log
Bảng sau là một danh sách đầy đủ của các từ khóa lớp ký tự trong GNU sed.
Lớp ký tự Miêu tả
[[:alnum:]] Thuộc chữ cái-số [a-z A-Z 0-9]
[[:alpha:]] Bảng chữ cái [a-z A-Z]
[[:blank:]] Các ký tự khoảng trống (spaces hoặc tabs)
[[:cntrl:]] Các ký tự điều khiển
[[:digit:]] Các số [0-9]
[[:graph:]] Bất kỳ ký tự nhìn thấy nào (trừ các khoảng trống trắng)
[[:lower:]] Các ký tự viết thường [a-z]
[[:print:]] Các ký tự có thể in được (các ký tự không phải ký tự điều khiển)
[[:punct:]] Các ký tự dấu chấm câu
[[:space:]] Khoảng trống trắng
http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Page 123
[[:xdigit:]] Các ký số thập lục phân [0-9 a-f A-F] Tham chiếu & trong Unix/Linux
Siêu ký tự & trong sed biểu diễn nội dung của mẫu mà được kết nối. Ví dụ, giả sử bạn có một tệp gọi là phone.txt chứa đầy các số điện thoại, như sau:
55555512125555551213 5555551213 5555551214 6665551215 6665551216 7775551217
Bạn muốn tạo một code khu vực (3 ký số đầu tiên) được bao quanh bởi dấu ngoặc đơn để dễ dàng hơn khi đọc. Để thực hiện điều này, bạn có thể sử dụng ký tự thay thế &, giống như:
$ sed -e 's/^[[:digit:]][[:digit:]][[:digit:]]/(&)/g' phone.txt (555)5551212 (555)5551213 (555)5551214 (666)5551215 (666)5551216 (777)5551217
Ở đây trong phần mẫu bạn đang kết nối 3 ký số đầu tiên, và sau đó sử dụng & bạn đang đổi chỗ cho 3 ký số này với dấu ngoặc đơn bao quanh.