CƠ BẢN VỀ CHỨNG CHỈ LPI - Trang 33

24

Cơ bản về quản trị Linux

3.1.4

Hiểu về chuỗi con đơn giản

Nói chung, nếu bạn đang tìm một chuỗi con, bạn có thể chỉ cần văn bản nguyên dạng không
cần thêm các ký tự "đặc biệt". Bạn cần phải làm một cái gì đó đặc biệt khi chuỗi con của
bạn chứa một

+, ., *, [, ],

, trong trường hợp này những ký tự trên phải đưa vào

ngoặc kép và đặt sau gạch ngược (\). Dưới đây là một vài ví dụ chuỗi con đơn giản:

• /tmp (quét tìm dòng văn bản /tmp)

• "$\backslash$[box$\backslash$]" (quét tìm dòng văn bản [box])

• "$\backslash$*funny$\backslash$*" (quét tìm dòng văn bản *funny*)

• "ld$\backslash$.so" (quét tìm dòng văn bản ld.so)

3.1.5

Ký tự mêta

Với biểu thức chính quy, sau đây bạn có thể thực hiện những tìm kiếm phức tạp hơn ví dụ
nêu trên lợi dụng ký tự mêta

1

. Một trong số các ký tự mêta là . (dấu chấm câu), mà tương

ứng bất kỳ ký tự đơn nào:

$ grep dev.hda /etc/fstab

/dev/hda3

/

reiserfs noatime,ro 1 1

/dev/hda1

/boot

reiserfs noauto,noatime,notail 1 2

/dev/hda2

swap

swap

sw 0 0

#/dev/hda4 /mnt/extra reiserfs noatime,rw 1 1

Trong ví dụ này văn bản dev.hda không có trên bất kỳ dòng nào trong /etc/fstab. Tuy

nhiên, grep không quét tìm chuỗi văn bản dev.hda, mà tìm mẫu dev.hda. Nhớ rằng .
sẽ tương ứng bất kỳ ký tự đơn nào. Như bạn có thể thấy, ký tự mêta . có chức năng tương
đương với ký tự ? trong "glob".

3.1.6

Sử dụng []

Nếu chúng ta muốn tìm tương ứng một ký tự đặc biệt hơn ., chúng ta có thể sử dụng [ và ]
(dấu ngoặc vuông) để chỉ rõ một tổ hợp các ký tự cần tìm tương ứng:

$ grep dev.hda[12] /etc/fstab
/dev/hda1

/boot

reiserfs noauto,noatime,notail 1 2

/dev/hda2

swap

swap

sw 0 0

Như bạn có thể thấy, tính năng này nói riêng trùng với [] trong sự mở rộng "glob". Nhắc

lại lần nữa, đây là một trong những rắc rối khi học regex – cú pháp là giống nhau nhưng
không đồng nhất

với sự mở rộng "glob", thường làm regex rối rắm khi học.

1

Ký tự mêta là ký tự dùng để mô tả các ký tự khác - người dịch

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.