Egrep và fgrrep

Một phần của tài liệu QUẢN TRỊ HỆ THỐNG LINUX 1 (Trang 111 - 117)

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 son tho 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 filepipes. Đâ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ế

Thc 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

Một phần của tài liệu QUẢN TRỊ HỆ THỐNG LINUX 1 (Trang 111 - 117)