THAO TÁC VỚI VĂN BẢN NÂNG CAO
egrep và fgrrep
quy. Ví dụ
fgrep “cat*” FILE
Dòng lệnh trên chỉ tìm kiếm các từ chứa đựng ‘cat’. Khả năng của fgrep được bổ sung thêm nhờ lựa chọn LIST. Cú pháp như sau :
fgrep –f LIST FILE
Tiện ích egrep sẽ thực hiện với mọi biểu thức chính quy mới. Nó cũng có thể tìm kiếm một vài từ khoá nếu chúng được bắt đầu với dòng lệnh được chia bởi pipes. Ví dụ:
THAO TÁC VỚI VĂN BẢN NÂNG CAO
Bộ soạn thảo Stream – sed
Tiện ích sed thông thường được sử dụng để tìm kiếm và thay đổi pattern trong văn bản. Nó hỗ trợ phần lớn các biểu thức chính quy (regex).
Làm quen với sed
Cú pháp :
sed [option] ‘lệnh’ [INPUTFILE]
file input là tuỳ ý vì sed cũng làm việc trong các thư mục file và pipes. Đây là một vài ví dụ giả sử chúng ta làm việc trong một file gọi là MODIF.
Xoá tất cả các dòng chú thích :
sed ‘/^/ d ‘MODIF
Chú ý rằng pattern được tìm kiếm nằm giữa hai gách chéo //.
Thay thế /dev/hda1 bởi /dev/sdb3:
sed ‘s/\/dev\/hda1/\/dev\/sdb3/g’ MODIF
Ký tựs trong dòng lệnh biệu diễn cho ‘substitute’. Ký tự ‘g’ biểu diễn cho ‘globally’ và ép substitution trên mội dòng
sed ‘/KEY/ s/:/;/g’ MODIF
sed nâng cao
Bạn có thể sử dụng một vài lệnh bắt đầu với –e tại dòng lệnh. Ví dụ, (1) xoá tất cả dấu trống khi (2) thay thế ‘OLD’ bằng ‘NEW’ trong file MODIF
sed -e ‘/^$/ d’ –e ‘s/OLD/NEW/g’ MODIF
Các lệnh trên có thểđược viết vào một file, ví dụ COMMANDS. Khi đó mỗi dòng được dịch như một dòng lệnh để chạy.
sed -e ‘/^$/ d’ –e ‘s/OLD/NEW/g’ MODIF
1 s/old/new
/keyword/ s/old/new/g 23,25 d
Cú pháp sử dụng cùng COMMANDS file là:
sed -f COMMANDS MODIF
Việc này tiện lời hơn rất nhiều việc phải đánh liên tục những dòng lện dài.
Tóm tắt lựa chọn cho sed
THAO TÁC VỚI VĂN BẢN NÂNG CAO
-e Thực hiện các lệnh tiếp sau đó
-f Đọc các lệnh từ một file
-n Không in ra các dòng không được sửa đổi
Tuỳ chọn của lệnh d Xoá một dòng
r Đọc một file và xuất ra file output
s Thay thế
Thực hành
1. Tạo một file mới có tên FILE với nội dung sau: Using grep,
fgrep and egrep
to grep for 99% of the cats % these are two
% commented lines
Sử dụng grep để xuất ra chỉ những dòng lệnh không phải là dòng chú thích Tìm kiếm các dòng chứa đựng các từ bắt đầu với ‘a’
2. Biểu thức chính quy. Thêm các dòng sau vào file trên: ca cat cats catss cat+ cat* cat? car carriage
Xem kết quả của các lệnh sau khi sử dụng grep, egrep và fgrep: grep ‘cat+’ FILE
grep ‘cat?’ FILE grep ‘cat.’ FILE grep ‘cat*’ FILE
THAO TÁC VỚI VĂN BẢN NÂNG CAO
3. Sử dụng sedđể thực hiện các thay đổi sau trong FILE
( sử dụng file COMMAND, sau đó làm các bước sau trên dòng lệnh)
• trong dòng đầu thay thế ‘grep’, với ‘soap’
• xoá ‘fgrep’ trong dòng thứ hai
• thay thế ‘egrep’ với ‘water’
• trong dòng thứ tư thay thế ‘grep for’ với ‘wash’ Save kết quả vào một file sử dụng tuỳ chọn w
SỬ DỤNG TRÌNH SOẠN THẢO VI