Các từ khóa lớp ký tự trong Unix/Linu

Một phần của tài liệu Bài hướng dẫn về UnixLinux (Trang 121)

- 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.

Một phần của tài liệu Bài hướng dẫn về UnixLinux (Trang 121)

Tải bản đầy đủ (PDF)

(161 trang)