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ừ khố 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.
Xố 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) xố 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 Xố 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’
• xố ‘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