10 ví dụ Sed này sẽ khiến bạn trở thành người dùng Linux thành thạo

10 ví dụ Sed này sẽ khiến bạn trở thành người dùng Linux thành thạo

Chỉnh sửa các tệp văn bản và kết xuất đầu cuối là công việc hàng ngày đối với những người quản lý máy Linux. Các tiện ích dòng lệnh như sed cho phép người dùng sửa đổi và thay đổi nội dung của tệp văn bản ngay từ cửa sổ đầu cuối.





Trong bài viết này, chúng ta sẽ thảo luận chi tiết về lệnh sed, cùng với một số ví dụ cần thiết chứng minh sức mạnh của tiện ích sed trong Linux.





Lệnh sed là gì?

Lệnh sed, là từ viết tắt của Trình chỉnh sửa luồng , là một công cụ dòng lệnh cho phép người dùng Linux thực hiện các hoạt động dựa trên văn bản trên các tệp và kết quả đầu cuối. Sử dụng sed, người dùng có thể tìm và thay thế các từ cụ thể trong văn bản, hiển thị một phần nhất định của đầu ra và chỉnh sửa tệp văn bản mà không cần mở chúng.





Ba hoạt động cơ bản được hỗ trợ bởi lệnh sed là:

  1. Chèn
  2. Xóa
  3. Thay thế (Tìm và thay thế)

Người dùng nâng cao cũng có thể triển khai các biểu thức chính quy bằng lệnh sed để chỉnh sửa các luồng văn bản hiệu quả hơn.



Cú pháp cơ bản của lệnh là:

sed [options] [pattern] [filepath]

...ở đâu tùy chọn là các chức năng khác nhau của lệnh, mẫu là biểu thức chính quy hoặc tập lệnh mà bạn muốn đối sánh và đường dẫn tập tin là đường dẫn đến tệp văn bản có chứa văn bản.





truyền từ điện thoại sang xbox một

10 Ví dụ về Lệnh Linux sed

Nếu bạn dự định trở thành một người dùng Linux thông thường, biết cách chỉnh sửa tệp, tìm kiếm và thay thế các từ cụ thể, cũng như lọc kết quả đầu cuối có thể hữu ích cho bạn. Phần này trình bày một số ví dụ về lệnh sed chắc chắn sẽ biến bạn thành một người dùng Linux thành thạo.

Chúng tôi sẽ sử dụng tệp văn bản sau để minh họa trong bài đăng.





This is a demo text file.
It is an amazing file that will help us all.
The sed command is also great for stream editing.
Want to learn how to use the command?
This is another line in the file.
This is the third general line in the file.
This file is named as textfile.
This is a apple.
This is a orange.

1. Xem một loạt các dòng

Các lệnh Linux như head và tail xuất ra mười dòng đầu tiên hoặc mười dòng cuối cùng của tệp văn bản. Nhưng nếu bạn muốn lấy nội dung giữa hai dòng cụ thể trong một tệp thì sao? Trong những tình huống như vậy, lệnh sed có thể hữu ích.

Để xuất nội dung giữa dòng 3 và dòng 5 của tệp textfile.txt :

sed -n '3,5p' textfile.txt

Các -n cờ ngăn không cho sed hiển thị không gian mẫu vào cuối mỗi chu kỳ. Bạn cũng có thể sử dụng --Yên lặng--im lặng tùy chọn thay vì -n . Các P đối số là viết tắt của in và được sử dụng để hiển thị các dòng phù hợp cho người dùng.

Việc thực thi lệnh nói trên trên tệp ví dụ sẽ tạo ra kết quả sau.

The sed command is also great for stream editing.
Want to learn how to use the command?
This is another line in the file.

Để xuất toàn bộ nội dung tệp ngoại trừ phạm vi được chỉ định, hãy sử dụng NS cờ thay vì P trong lệnh:

sed '3,5d' textfile.txt

Các NS cờ xóa các chuỗi phù hợp khỏi đầu ra và hiển thị phần còn lại của nội dung.

This is a demo text file.
It is an amazing file that will help us all.
This is the third general line in the file.
This file is named as textfile.
This is a apple.
This is a orange.

2. Hiển thị các dòng không liên tiếp

Để in các dòng không liên tiếp giữa nhiều dải ô trong tệp:

sed -n -e '1,2p' -e '5,6p' textfile.txt

Đầu ra:

This is a demo text file.
It is an amazing file that will help us all.
This is another line in the file.
This is the third general line in the file.

Các -Và cờ giúp trong thi hành nhiều hành động bằng một lệnh duy nhất.

3. Chèn khoảng cách giữa các dòng

Nếu vì bất kỳ lý do gì bạn muốn chèn các dòng trống giữa mỗi dòng trong tệp văn bản, hãy sử dụng NS đối số với lệnh sed mặc định.

không thể hoàn thành yêu cầu của bạn do lỗi chương trình photoshop
sed G textfile.txt

Để chèn nhiều dòng trống trong đầu ra, hãy chuyển nhiều dòng NS các đối số được phân tách bởi dấu chấm phẩy ( ; ) tính cách.

sed 'G;G' textfile.txt

4. Thay thế một Word trong một tệp văn bản

Nếu bạn muốn thay thế mỗi lần xuất hiện của một từ cụ thể bằng một số từ khác, hãy sử dụng NSNS đối số với lệnh. Cú pháp cơ bản để thay thế các từ bằng lệnh sed là:

sed s/originalword/replaceword/g filename

Sử dụng cú pháp nêu trên, bạn có thể thay thế từ kinh ngạc với siêu Trong tập tin textfile.txt :

sed s/amazing/super/g textfile.txt

Các NS đối số biểu thị thay thếNS lệnh được sử dụng để thay thế nội dung phù hợp với nội dung thay thế được chỉ định.

Để thay thế lần xuất hiện thứ hai của từ bằng sed, hãy chuyển một số cho NS tranh luận. Trong trường hợp này:

sed s/amazing/super/g2 textfile.txt

Nếu bạn muốn bỏ qua các trường hợp ký tự trong khi thay thế các từ, hãy sử dụng đưa cho thay vì NS , ở đâu tôi viết tắt của phớt lờ trường hợp.

sed s/Amazing/super/gi textfile.txt

Có liên quan: Sử dụng Vi? Đây là cách mở tệp sau đó lưu và thoát

5. Các từ thay thế trong một phạm vi

Bạn cũng có thể thay thế các từ trong một phạm vi cụ thể.

sed '2,5s/amazing/super/g' textfile.txt

6. Thực hiện nhiều thay thế cùng một lúc

Nếu bạn muốn thực hiện hai hoặc nhiều thay thế cùng một lúc, chỉ cần tách các lệnh bằng dấu chấm phẩy ( ; ) tính cách.

sed 's/amazing/super/g;s/command/utility/gi' textfile.txt

Hệ thống sẽ hiển thị đầu ra sau.

This is a demo text file.
It is an super file that will help us all.
The sed utility is also great for stream editing.
Want to learn how to use the utility?
This is another line in the file.
This is the third general line in the file.
This file is named as textfile.
This is a apple.
This is a orange.

7. Chỉ thay thế các từ nếu tìm thấy một kết quả phù hợp

Bạn cũng có thể sử dụng lệnh sed để thay thế một từ chỉ khi tìm thấy một kết quả phù hợp nhất định trong dòng. Ví dụ, để thay thế từ đến với một nếu từ quả cam có mặt trong dòng:

sed -e '/orange/ s/a/an/g' textfile.txt

Thực hiện lệnh nêu trên sẽ xuất ra:

This is a demo text file.
It is an super file that will help us all.
The sed utility is also great for stream editing.
Want to learn how to use the utility?
This is another line in the file.
This is the third general line in the file.
This file is named as textfile.
This is a apple.
This is an orange.

Lưu ý rằng từ đến trong dòng Đây là một quả táo không được thay thế vì hệ thống không tìm thấy từ quả cam trong đó.

8. Các từ thay thế bằng cách sử dụng cụm từ thông dụng

Đối với những người biết cách sử dụng biểu thức chính quy, việc thực hiện các thao tác trên chuỗi bằng lệnh sed trở nên dễ dàng hơn rất nhiều. Bạn có thể triển khai các biểu thức chính quy để nâng cao sức mạnh của lệnh.

Để thay thế tất cả các lần xuất hiện của từ Kinh ngạc hoặc kinh ngạc với siêu :

sed -e 's/[Aa]mazing/super/g' textfile.txt

Tương tự, bạn cũng có thể sử dụng biểu thức chính quy nâng cao để thực hiện các thao tác cụ thể bằng lệnh sed.

9. Pipe sed Với các lệnh khác

Bạn cũng có thể xâu chuỗi sed với các lệnh Linux khác. Ví dụ, bạn có thể phân loại lspci lệnh với sed để thêm khoảng trống giữa các dòng trong đầu ra.

lspci | sed G

Để thay thế các từ cụ thể trong đầu ra của hiển thị tuyến đường ip chỉ huy:

ip route show | sed s/src/source/g

Lệnh nói trên thay thế từ nguồn thay cho từ gốc src .

Có liên quan: Cách sử dụng lệnh Find để tìm kiếm tệp trong Linux

10. Chỉnh sửa và sao lưu tệp gốc

Khi bạn đang làm việc với các tệp hệ thống, việc sao lưu tệp gốc trong khi thực hiện các thay đổi là rất quan trọng. Điều này sẽ giúp bạn hoàn nguyên các thay đổi trong trường hợp có điều gì đó bị hỏng.

Để sao lưu tệp gốc bằng sed, hãy sử dụng -tôi cờ trong lệnh.

net Netflix không hoạt động trên TV thông minh
sed -i'.backup' 's/amazing/super/g' textfile.txt

Một tệp mới sẽ được tạo với tên textfile.txt.backup . Bạn có thể kiểm tra xem hai tệp có khác nhau hay không bằng cách sử dụng khác biệt chỉ huy.

diff textfile.txt textfile.txt.backup

Chỉnh sửa chuỗi trong Linux với sed

Đôi khi, trong khi bạn đang làm việc với các tệp văn bản trên thiết bị đầu cuối, việc định dạng và chỉnh sửa đầu ra để dễ đọc hơn trở thành điều bắt buộc. Sed và awk là các tiện ích dòng lệnh trong Linux cho phép người dùng làm việc hiệu quả với các tệp văn bản bằng cách chia dữ liệu thành các dòng riêng biệt.

Nhiều người dùng gặp khó khăn trong việc ghi nhớ các đối số và cờ của lệnh sed vì có rất nhiều trong số chúng có sẵn để sử dụng. Biết cách lấy sổ tay hướng dẫn dòng lệnh cho bất kỳ lệnh Linux nào sẽ giúp bạn thoát khỏi những tình huống như vậy một cách dễ dàng.

Đăng lại Đăng lại tiếng riu ríu E-mail 7 cách nhận trợ giúp về dòng lệnh trên Linux

Tất cả các lệnh cần thiết để tìm hiểu về các lệnh Linux từ dòng lệnh

Đọc tiếp
Chủ đề liên quan
  • Linux
  • Trình soạn thảo văn bản
  • Phần cuối
  • Dấu nhắc lệnh
Giới thiệu về tác giả Deepesh Sharma(Đã xuất bản 79 bài báo)

Deepesh là Junior Editor cho Linux tại MUO. Anh ấy viết các hướng dẫn thông tin về Linux, nhằm mục đích cung cấp trải nghiệm thú vị cho tất cả những người mới đến. Không chắc về phim, nhưng nếu bạn muốn nói về công nghệ, anh ấy là người của bạn. Khi rảnh rỗi, bạn có thể bắt gặp anh ấy đọc sách, nghe các thể loại âm nhạc khác nhau hoặc chơi guitar.

Xem thêm từ Deepesh Sharma

Theo dõi bản tin của chúng tôi

Tham gia bản tin của chúng tôi để biết các mẹo công nghệ, đánh giá, sách điện tử miễn phí và các ưu đãi độc quyền!

Bấm vào đây để đăng ký