Tải bản đầy đủ (.pdf) (18 trang)

Bài giảng hệ điều hành unix linux bài 5 đặng ngọc cường

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (151.84 KB, 18 trang )

Bài 5

Xử lý văn bản và các bộ lọc

20/01/2011

Hệ Điều Hành Unix/Linux

1


Các công cụ soạn thảo văn bản
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]

20/01/2011

Hệ Điều Hành Unix/Linux

2


Các chế độ làm việc của vi


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,…

20/01/2011

Hệ Điều Hành Unix/Linux

3


Các chế độ làm việc của vi
Start

End
20/01/2011

Hệ Điều Hành Unix/Linux

4



Một số lệnh dùng vi

20/01/2011

Hệ Điều Hành Unix/Linux

5


Một số lệnh dùng vi
dd: Xóa 1 dòng
<n>dd: Xóa n dòng

y: sao chép 1 dòng
<n>y: Sao chép n dòng

p: Dán (paste) ra dòng hiện hành
dw: xóa 1 từ
:r <file>: mở 1 file mới
:r !<command>: 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

6



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

7


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

8


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

9


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

10


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

11



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

12


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

13



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<column(s)>: Hiển thị cột xác định
-c<character(s)>: Hiển thị ký tự xác định
-d<delimiter> : 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

14


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

15


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]" 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

16


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<col> -t<deli>

Ví dụ: $sort –r -k2 –t’:’ test.txt

20/01/2011

Hệ Điều Hành Unix/Linux

17


Tóm lại
Soạn thảo văn bản
Pipe
Bộ lọc

Thanks you !

20/01/2011

Hệ Điều Hành Unix/Linux

18




×