Giới thiệu
Trong lab này, bạn sẽ học cách sử dụng trình soạn thảo văn bản theo dòng mạnh mẽ ed
trong các hệ điều hành giống Unix. Lệnh ed
cung cấp một tập hợp các tính năng linh hoạt để chỉnh sửa các tệp văn bản trực tiếp từ dòng lệnh, khiến nó đặc biệt hữu ích cho việc viết script và các tác vụ tự động hóa. Bạn sẽ bắt đầu bằng cách khám phá cách sử dụng cơ bản của lệnh ed
, bao gồm tạo các tệp mới và thao tác với văn bản. Sau đó, bạn sẽ đi sâu vào cách sử dụng lệnh ed
nâng cao hơn, chẳng hạn như làm việc với nhiều tệp và sử dụng biểu thức chính quy để xử lý văn bản phức tạp. Đến cuối lab này, bạn sẽ có hiểu biết vững chắc về cách tận dụng lệnh ed
để chỉnh sửa và quản lý các tệp văn bản một cách hiệu quả trong quy trình làm việc hàng ngày của bạn.
Giới thiệu về lệnh ed
Trong bước này, bạn sẽ tìm hiểu về cách sử dụng cơ bản của lệnh ed
, một trình soạn thảo văn bản theo dòng mạnh mẽ trong các hệ điều hành giống Unix. Lệnh ed
là một công cụ mạnh mẽ để chỉnh sửa các tệp văn bản trực tiếp từ dòng lệnh và nó có thể đặc biệt hữu ích cho việc viết script và các tác vụ tự động hóa.
Đầu tiên, hãy bắt đầu bằng cách kiểm tra phiên bản của ed
được cài đặt trong container Docker Ubuntu 22.04 của chúng ta:
ed --version
Ví dụ về đầu ra:
GNU ed version 1.17
Lệnh ed
là một trình soạn thảo văn bản theo dòng, có nghĩa là bạn tương tác với nó bằng cách nhập các lệnh hoạt động trên dòng hiện tại hoặc một phạm vi các dòng. Để khởi động trình soạn thảo ed
, chỉ cần gõ ed
trong terminal:
ed
Điều này sẽ mở trình soạn thảo ed
và bây giờ bạn có thể nhập các lệnh để thao tác với văn bản. Một số lệnh ed
cơ bản bao gồm:
a
: Thêm văn bản sau dòng hiện tạic
: Thay đổi dòng hiện tạid
: Xóa dòng hiện tạii
: Chèn văn bản trước dòng hiện tạil
: Liệt kê dòng hiện tạip
: In dòng hiện tạiq
: Thoát trình soạn thảoed
Ví dụ: hãy tạo một tệp mới có tên example.txt
và thêm một số văn bản vào đó:
ed example.txt
a
This is a sample text file.
This is the second line.
.
w
q
Trong ví dụ này, chúng ta:
- Mở trình soạn thảo
ed
và chỉ định tệpexample.txt
- Sử dụng lệnh
a
để thêm hai dòng văn bản - Kết thúc chế độ thêm bằng cách nhập một dấu chấm duy nhất (
.
) - Ghi các thay đổi vào tệp bằng lệnh
w
- Thoát trình soạn thảo
ed
bằng lệnhq
Bây giờ, hãy xác minh rằng tệp đã được tạo và chứa nội dung như mong đợi:
cat example.txt
Ví dụ về đầu ra:
This is a sample text file.
This is the second line.
Trong bước tiếp theo, bạn sẽ học cách chỉnh sửa các tệp văn bản hiện có bằng lệnh ed
.
Chỉnh sửa tệp văn bản với ed
Trong bước này, bạn sẽ học cách chỉnh sửa các tệp văn bản hiện có bằng lệnh ed
.
Đầu tiên, hãy tạo một tệp mới có tên example.txt
với một số nội dung mẫu:
echo "This is the first line." > example.txt
echo "This is the second line." >> example.txt
echo "This is the third line." >> example.txt
Bây giờ, hãy mở tệp example.txt
trong trình soạn thảo ed
:
ed example.txt
Bạn sẽ thấy đầu ra sau:
34
Số này biểu thị số lượng ký tự trong tệp. Bây giờ, hãy thử một số lệnh chỉnh sửa cơ bản:
1p
Điều này sẽ in dòng đầu tiên của tệp:
This is the first line.
Để thay đổi dòng đầu tiên, chúng ta có thể sử dụng lệnh c
(change):
1c
This is the updated first line.
.
Dấu .
trên một dòng mới cho biết sự kết thúc của thay đổi. Hãy xác minh các thay đổi:
1p
This is the updated first line.
2p
This is the second line.
3p
This is the third line.
Để xóa một dòng, chúng ta có thể sử dụng lệnh d
(delete):
2d
Điều này sẽ xóa dòng thứ hai. Hãy in lại tệp để xem các thay đổi:
1p
This is the updated first line.
2p
This is the third line.
Cuối cùng, để lưu các thay đổi và thoát trình soạn thảo ed
, chúng ta có thể sử dụng các lệnh w
(write) và q
(quit):
w
41
q
Số 41
biểu thị số lượng ký tự trong tệp đã cập nhật.
Hãy xác minh các thay đổi bằng cách kiểm tra nội dung của tệp example.txt
:
cat example.txt
Ví dụ về đầu ra:
This is the updated first line.
This is the third line.
Trong bước tiếp theo, bạn sẽ tìm hiểu về cách sử dụng lệnh ed
nâng cao hơn.
Sử dụng lệnh ed nâng cao
Trong bước này, bạn sẽ tìm hiểu về một số cách sử dụng nâng cao hơn của lệnh ed
, bao gồm tìm kiếm, thay thế và làm việc với nhiều tệp.
Hãy bắt đầu bằng cách tạo một tệp khác có tên example2.txt
với một số nội dung mẫu:
echo "This is the first line of example2.txt." > example2.txt
echo "This is the second line of example2.txt." >> example2.txt
echo "This is the third line of example2.txt." >> example2.txt
Bây giờ, hãy mở cả example.txt
và example2.txt
trong trình soạn thảo ed
:
ed example.txt example2.txt
Bạn sẽ thấy đầu ra sau:
41
41
Điều này chỉ ra rằng cả hai tệp đã được mở trong trình soạn thảo ed
.
Để chuyển đổi giữa các tệp, bạn có thể sử dụng lệnh f
(file):
f example.txt
1p
This is the updated first line.
f example2.txt
1p
This is the first line of example2.txt.
Để tìm kiếm một mẫu trong tệp hiện tại, bạn có thể sử dụng lệnh ?pattern?
. Ví dụ: để tìm kiếm từ "line" trong tệp hiện tại:
?line?
This is the updated first line.
This is the third line.
Điều này sẽ in tất cả các dòng chứa từ "line".
Để thay thế một mẫu bằng một chuỗi mới, bạn có thể sử dụng lệnh s/pattern/replacement/
. Ví dụ: để thay thế tất cả các lần xuất hiện của "line" bằng "sentence" trong tệp hiện tại:
g/line/s//sentence/p
This is the updated first sentence.
This is the third sentence.
Lệnh g
được sử dụng để thực hiện thay thế trên toàn cục (trên tất cả các dòng phù hợp).
Cuối cùng, hãy thử thêm nội dung của example2.txt
vào example.txt
:
f example.txt
$a
$(cat example2.txt)
.
w
q
Điều này sẽ thêm nội dung của example2.txt
vào cuối example.txt
.
Hãy xác minh các thay đổi:
cat example.txt
Ví dụ về đầu ra:
This is the updated first line.
This is the third line.
This is the first line of example2.txt.
This is the second line of example2.txt.
This is the third line of example2.txt.
Chúc mừng! Bây giờ bạn đã học về cách sử dụng nâng cao của lệnh ed
, bao gồm làm việc với nhiều tệp, tìm kiếm và thay thế.
Tóm tắt
Trong lab này, bạn đã học về cách sử dụng cơ bản của lệnh ed
, một trình soạn thảo văn bản theo dòng mạnh mẽ trong các hệ điều hành giống Unix. Bạn bắt đầu bằng cách kiểm tra phiên bản của ed
được cài đặt trong container Docker Ubuntu 22.04 của bạn và sau đó khám phá các lệnh khác nhau có sẵn trong trình soạn thảo ed
, chẳng hạn như a
để thêm văn bản, c
để thay đổi dòng hiện tại, d
để xóa dòng hiện tại, i
để chèn văn bản, l
để liệt kê dòng hiện tại, p
để in dòng hiện tại và q
để thoát trình soạn thảo. Sau đó, bạn đã tạo một tệp mới có tên example.txt
và thêm một số văn bản vào đó bằng lệnh ed
. Cuối cùng, bạn đã học cách chỉnh sửa các tệp văn bản hiện có bằng lệnh ed
.