CC: hai số chỉ thế kỉ,
Tìm theo nội dung tậptin bằng lệnh grep
Lệnh grep cũng nh− lệnh ls là hai lệnh rất quan trọng trong Linux. Lệnh này có hai tác dụng cơ bản nh− sau:
tác dụng thứ nhất là lọc đầu ra của một lệnh khác với cú pháp là
<lệnh> | grep <mẫu lọc>
tác dụng thứ hai, và cũng là tác dụng cơ bản đ−ợc giới thiệu trong phần này, là tìm dòng chứa mẫu đã định trong tập tin đ−ợc chỉ ra.
Cú pháp lệnh grep:
grep [tùy-chọn] ... <mẫu-lọc> [tập-tin]
Lệnhgrephiển thị tất cả các dòng có chứa mẫu-lọc trong tập-tin đ−ợc chỉ ra (hoặc từ thiết bị vào chuẩn nếu không có tập-tin hoặc tập-tin có dạng là dấu "-")
Các tùy chọn là:
-G, --basic-regexp
xem mẫu lọc nh− một biểu thức thông th−ờng. Điều này là ngầm định.
-E, --extended-regexp
xem mẫu lọc nh− một biểu thức mở rộng.
-F, --fixed-strings
xem mẫu nh− một danh sách các xâu cố định, đ−ợc phân ra bởi các dòng mới. Ngoài lệnh grep còn có hai lệnh là egrep và fgrep. egrep
Lệnh grep còn có các tùy chọn sau:
-A NUM, --after-context=NUM
đ−a ra NUM dòng nội dung tiếp theo sau dòng có chứa mẫu.
-B NUM, --before-context=NUM
đ−a ra NUM dòng nội dung tr−ớc dòng có chứa mẫu.
-C [NUM], --context[=NUM]
hiển thị NUM dòng (mặc định là 2 dòng) nội dung.
-NUM
giống --context=NUM đ−a ra các dòng nội dung tr−ớc và sau dòng có chứa mẫu. Tuy nhiên, grep sẽ không đ−a ra dòng nào nhiều hơn một lần.
-b, --byte-offset
hiển thị địa chỉ t−ơng đối trong tập tin đầu vào tr−ớc mỗi dòng đ−ợc đ−a ra
-c, --count
đếm số dòng t−ơng ứng chứa mẫu trong tập tin đầu vào thay cho việc hiển thị các dòng chứa mẫu.
-d ACTION, --directories=ACTION
nếu đầu vào là một th− mục, sử dụng ACTION để xử lý nó. Mặc định, ACTION là read, tức là sẽ đọc nội dung th− mục nh− một tập tin thông th−ờng. Nếu ACTION là skip, th− mục sẽ bị bỏ qua. Nếu ACTION là
recurse, grep sẽ đọc nội dung của tất cả các tập tin bên trong th− mục (đệ quy); tùy chọn này t−ơng đ−ơng với tùy chọn -r.
-f tập-tin, --file=tập-tin
lấy các mẫu từ tập-tin, một mẫu trên một dòng. Tập tin trống chứa đựng các mẫu rỗng, và các dòng đ−a ra cũng là các dòng trống.
-H, --with-tập-tin
đ−a ra tên tập tin trên mỗi dòng chứa mẫu t−ơng ứng.
-h, --no-filename
không hiển thị tên tập tin kèm theo dòng chứa mẫu trong tr−ờng hợp tìm nhiều tập tin.
-i
hiển thị các dòng chứa mẫu không phân biệt chữ hoa chữ th−ờng.
-l
đ−a ra tên các tập tin trùng với mẫu lọc.
-n, --line-number
thêm số thứ tự của dòng chứa mẫu trong tập tin.
đọc tất cả các tập tin có trong th− mục (đệ quy).
-s, --no-messages
bỏ qua các thông báo lỗi tập tin không đọc đ−ợc hoặc không tồn tại.
-v, --invert-match
hiển thị các dòng không chứa mẫu.
-w, --word-regexp
chỉ hiển thị những dòng có chứa mẫu lọc là một từ trọn vẹn.
-x, --line-regexp
chỉ hiển thị những dòng mà nội dung trùng hoàn toàn với mẫu lọc. Ví dụ, ng−ời dùng gõ lệnh cat để xem nội dung tập tin text:
# cat -n text
thì hiện ra nội dung tập tin đó nh− sau:
1 $ file file.c file /dev/hda 2 file.c: C program text 2 file.c: C program text