Bài giảng Hệ điều hành Unix/Linux - Bài 5
Bộ lọc sort Sắp xếp mỗi dòng từ file hoặc thiết bị nhập theo thứ tự tăng dần. Các tùy chọn của bộ lọc sort: -r: sắp xếp giảm dần -n: Sắp xếp tăng dần -k
Bạn đang xem nội dung tài liệu Bài giảng Hệ điều hành Unix/Linux - Bài 5, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
20/01/2011 Hệ Điều Hành Unix/Linux 1
Xử lý văn bản và các bộ lọc
Bài 5
20/01/2011 Hệ Điều Hành Unix/Linux 2
Trong Linux hiện có rất nhiều các Text Editors khác
nhau giúp cho việc soạn thảo text, như:
vi (visual editor)
emacs và xemacs
jed
joe
Trong do bộ soạn thảo vi là bộ soạn thảo mặc định của
các bản phân phối Linux và Unix.
Để tạo một file mới với vi dùng lệnh với cú pháp:
vi [options] [filename]
Các công cụ soạn thảo văn bản
20/01/2011 Hệ Điều Hành Unix/Linux 3
Chế độ lệnh
Cho phép nhập lệnh xóa, thay đổi, sao chép và di chuyển
text, vị trí con trỏ,...
Chế độ soạn thảo
Cho phép nhập và hiệu chỉnh văn bản vào file
Để chỉ dẫn vi vào chế độ soạn thảo, nhập một trong 3 lệnh
sau: i (insert), o (open), a (append).
Chế độ dòng cuối
Trong khi ở chế độ lệnh, gõ dấu hai chấm (:) sẽ vào chế
độ dòng cuối. Cho phép lưu file, mở file, tìm kiếm, hoặc
thoát khỏi vi,…
Các chế độ làm việc của vi
20/01/2011 Hệ Điều Hành Unix/Linux 4
Các chế độ làm việc của vi
Start
End
20/01/2011 Hệ Điều Hành Unix/Linux 5
Một số lệnh dùng vi
20/01/2011 Hệ Điều Hành Unix/Linux 6
Một số lệnh dùng vi
dd: Xóa 1 dòng
dd: Xóa n dòng
y: sao chép 1 dòng
y: Sao chép n dòng
p: Dán (paste) ra dòng hiện hành
dw: xóa 1 từ
:r : mở 1 file mới
:r !: lấy kết qủa một lệnh shell đưa vào vi.
20/01/2011 Hệ Điều Hành Unix/Linux 7
Pipes (đường ống)
Pipes cho phép kết hợp nhiều lệnh và xử lý
chúng như một lệnh.
Ví dụ: $ ls –l /dev | more
Pipes được biểu diễn bởi dấu gạch đứng (|), cái
cho biết shell lấy kết quả của câu lệnh trước ‘|’ và
gửi chúng như dữ liệu vào cho câu lệnh sau ‘|’.
20/01/2011 Hệ Điều Hành Unix/Linux 8
Các ví dụ
Xem tên đầy đủ của user steve cùng với đường
dẫn, thư mục chủ và shell mặc định:
$ cat /etc/passwd | grep "^steve:" | cut -d ':' -f5,6,7
Hiển thị ngày của tuần:
$ date | cut -d ' ' -f1
Lệnh hiển thị tên các user và thời gian họ đăng
nhập:
$ who | tr -s ' ' | cut -d ' ' -f1,4
20/01/2011 Hệ Điều Hành Unix/Linux 9
Filters
Bộ lọc (filter) là một chương trình lấy dữ liệu vào
từ thiết bị nhập, xử lý (hoặc lọc) nó và gửi kết
quả đến thiết bị xuất.
Một số bộ lọc là:
grep
wc
tr
cut
20/01/2011 Hệ Điều Hành Unix/Linux 10
Bộ lọc grep
GREP (Stands for Global Regular Expression
Print).
Tìm kiếm trong một file theo một mẫu các ký tự
và hiển thị tất cả các dòng chứa mẫu đó. Mẫu để
tìm kiếm được gọi là biểu thức chính qui (regular
expression).
Cú pháp:
grep [options] pattern [filename]
20/01/2011 Hệ Điều Hành Unix/Linux 11
Biểu thức chính qui (mẫu lọc)
Biểu thức chính qui có thể được sử dụng để xác định
mẫu ký tự phức tạp.
Để xác định biểu thức chính qui phức tạp như, [ ], [ ] với
^, ^ trong [ ], $, . (dấu chấm),và \
Ví dụ:
grep "New[abc]“ : Tìm dòng chứa Newa, Newb hoặc Newc
grep "New[ac]“: Tìm dòng chứa Newa hoặc Newc
grep "^New[ab]“: Tìm dòng chứa Newa hoặc Newb ở đầu
dòng.
grep "New[ab]$“: Tìm dòng chứa Newa hoặc Newb ở cuối
dòng.
grep "New\[ab\]“: Tìm dòng chứa New[a] hoặc New[b]
20/01/2011 Hệ Điều Hành Unix/Linux 12
Ví dụ
Ta có file test với nội dung như sau:
Cho biết kết quả các lệnh sau:
$ grep "J[oa]" test
$ grep "^Jo" test
$ grep "Steve$" test
20/01/2011 Hệ Điều Hành Unix/Linux 13
Bộ lọc wc
Bộ lọc wc được sử dụng để đếm số dòng, số từ,
và số ký tự trong một file hoặc từ thiết bị nhập.
Cú pháp:
wc [option] [filename]
Một số tùy chọn của wc:
-l: hiển thị số dòng
-w: hiển thị số từ
-c: hiển thị số ký tự
20/01/2011 Hệ Điều Hành Unix/Linux 14
Bộ lọc cut
Bộ lọc cut được sử dụng khi xác định các cột từ
kết quả của một câu lệnh (như ls, who) hoặc một
file trên đĩa cần được trích ra.
Cú pháp:
cut [options] [filename]
Một số tùy chọn của cut:
-f: Hiển thị cột xác định
-c: Hiển thị ký tự xác định
-d : xác định dấu phân cách cột
Ví dụ:
$ cut -d ':' -f1 /etc/passwd
20/01/2011 Hệ Điều Hành Unix/Linux 15
Bộ lọc tr
Bộ lọc tr có thể được sử dụng để chuyển đổi tập
ký tự này thành tập ký tự khác
Nó cũng có thể được dùng để nén các ký tự lặp
lại thành một ký tự với tùy chọn –s
Ví dụ:
$ who > dslogin
$ tr -s " " < dslogin
root tty1 Sep 28 17:02
steve pts/4 Sep 28 19:36 (172.17.55.167)
20/01/2011 Hệ Điều Hành Unix/Linux 16
Các ví dụ sử dụng tr
Sử dụng phổ biến của tr cho phép chuyển đổi
hoa-thường
Ví dụ 1:
$ tr "[a-z]" "[A-Z]" <danhsach.txt
Nguyen Van An
NGUYEN VAN AN
Ví dụ 2: đổi ký tự “:” thành khoảng trắng
$ tr ':' ' ' < /etc/passwd
20/01/2011 Hệ Điều Hành Unix/Linux 17
Bộ lọc sort
Sắp xếp mỗi dòng từ file hoặc thiết bị nhập theo
thứ tự tăng dần.
Các tùy chọn của bộ lọc sort:
-r: sắp xếp giảm dần
-n: Sắp xếp tăng dần
-k -t
Ví dụ: $sort –r -k2 –t’:’ test.txt
20/01/2011 Hệ Điều Hành Unix/Linux 18
Tóm lại
Soạn thảo văn bản
Pipe
Bộ lọc
Thanks you !
Các file đính kèm theo tài liệu này:
- bai_5_xu_ly_van_ban_va_cac_bo_loc_9241.pdf