Trình chỉnh sửa luồng (SED): Thông tin cơ bản

Trinh Chinh Sua Luong Sed Thong Tin Co Ban



SED, còn được gọi là trình chỉnh sửa luồng, là một công cụ rất hữu ích. Nó được sử dụng để tìm kiếm một từ hoặc một mẫu cụ thể và sau đó thực hiện điều gì đó với từ hoặc mẫu đó hay nói cách khác là biến đổi nó. Trong Windows, SED còn được gọi là chức năng “tìm” và “thay thế”. SED đi kèm với Ubuntu nên không cần phải cài đặt bất cứ thứ gì; chỉ cần bắt đầu sử dụng nó. Trong hướng dẫn này, chúng tôi sẽ hướng dẫn bạn cách sử dụng SED hoặc trình chỉnh sửa luồng.

Lệnh “S”

Lệnh quan trọng nhất trong SED hoặc trình chỉnh sửa luồng là lệnh “s”. Chữ “s” tượng trưng cho sự thay thế. Cú pháp như sau:







'S / biểu thức chính quy / thay thế / cờ


Vì vậy, hãy sử dụng tệp có tên “file.txt” để làm ví dụ. Đây là giao diện của “file.txt” nếu bạn sử dụng nó:




Hãy sử dụng một ví dụ để cho thấy lệnh “s” hoạt động như thế nào:



Nhưng 'S / Đầu tiên / mặt trăng / tôi' file.txt > moon.txt


Khi một biểu thức như vậy được đưa ra, nó có nghĩa là:





    • s – Nó là viết tắt của thay thế.
    • first – Từ cần tìm trong file có tên “file.txt”.
    • mặt trăng – Từ “đầu tiên” được thay thế bằng từ “mặt trăng”.
    • i – Nó là viết tắt của bỏ qua. Chúng ta sẽ bỏ qua phần này trong phần đầu tiên.
    • file.txt – Tệp mà SED sẽ tìm kiếm mẫu hoặc từ. Trong trường hợp này, từ “đầu tiên” sẽ là:
    • đã tìm kiếm trong file.txt

    • moon.txt – Khi từ “first” được thay thế bằng từ “moon”, nó sẽ được lưu trong “moon.txt”.

Vì vậy, những gì đang xảy ra ở đây? SED chỉ thay thế từ “đầu tiên” cho “mặt trăng” trong trường hợp đầu tiên (điều đó có nghĩa là nếu từ “đầu tiên” xảy ra nhiều lần, nó sẽ không thay thế toàn bộ hoặc thay thế nó nhiều lần). Tệp mà nó tìm kiếm có tên là “file.txt” và sau khi thực hiện chuyển đổi hoặc thay thế, nó sẽ được lưu trong “moon.txt”.



Đây là những gì nó trông giống như:


Hãy nhớ đặt dấu “/” vào vị trí cần thiết. Nếu bạn bỏ qua “/”, SED sẽ không chấp nhận lệnh.

Cho đến nay, chúng tôi chỉ thay thế từ “đầu tiên” bằng “gặp phải” để thay thế. Bây giờ, giả sử chúng ta muốn thay thế từ “line” (xảy ra nhiều lần - cụ thể là bốn lần) ở dòng thứ ba bằng từ “angel”.

Làm cách nào để chúng tôi nhắm mục tiêu cụ thể vào dòng thứ ba đó? Chúng tôi sử dụng lệnh sau:

Nhưng '3 giây / đường kẻ / thiên thần / tôi' file.txt > thiên thần.txt


Vậy chuyện gì vừa xảy ra ở đây vậy? Vâng, số “3” chỉ định số dòng. Vì vậy, nó đi đến dòng thứ ba. Sau đó, thay từ “line” cho “angel” trong tệp có tên “file.txt” và lưu tệp đã chuyển đổi thành “angel.txt”.


Nếu chúng ta muốn thay thế hoặc chuyển đổi dòng “3” và “4” thì sao?

Nhưng ' 3 ,4 giây / đường kẻ / thiên thần / tôi' file.txt > thiên thần2.txt



Lưu ý rằng trong ví dụ trước, chúng tôi đã sử dụng cờ “i” để bỏ qua. Bây giờ, chúng tôi sử dụng cờ “g” cho toàn cầu.

Hãy sử dụng một ví dụ để cho thấy lệnh “s” hoạt động như thế nào:

Nhưng 'S / đường kẻ / mặt trời / g' file.txt > sun.txt


Khi một biểu thức như vậy được đưa ra, nó có nghĩa là:

Chữ “g” là viết tắt của toàn cầu. Hãy nhớ rằng trong ví dụ đầu tiên, khi chúng ta sử dụng cờ “i”, chỉ có một sự thay thế duy nhất. Bây giờ chúng tôi đã thêm “g” cho toàn cầu, nó có nghĩa là thay thế ở mọi nơi. Vì vậy, thay vì nói dòng đầu tiên, dòng thứ hai, dòng thứ ba và dòng cuối cùng, nó nói mặt trời thứ nhất, mặt trời thứ hai, mặt trời thứ ba và mặt trời cuối cùng. Nó thay thế dòng từ trong toàn bộ tập tin (ở mọi nơi) bằng từ “mặt trời”.


Bây giờ, nếu chúng ta muốn chọn một dòng dựa trên một từ trong đó thì sao? Chà, chúng ta có thể thấy rằng dòng cuối cùng của “file.txt” có từ “last” trong đó. Bây giờ, giả sử chúng ta muốn dòng “Đây là dòng cuối cùng. Đây là câu cuối cùng.” câu trở thành “Đây là con ma cuối cùng. Đây là câu cuối cùng.”

Chúng tôi viết như sau:

Nhưng ' / cuối cùng / S / đường kẻ / bóng ma / ' tập tin.txt > ghost.txt


“Cuối cùng” ở đây yêu cầu SED tìm dòng có từ “cuối cùng” và sau đó thay thế từ “dòng” bằng “ma” trong dòng đó.


Bây giờ, giả sử chúng ta muốn làm điều ngược lại. Giả sử chúng ta muốn mọi dòng không có từ “cuối cùng” có từ “dòng” được đổi thành “ma”. Hãy viết như sau:

Nhưng ' / cuối cùng /! S / đường kẻ / bóng ma / ' tập tin.txt > ghost2.txt


Như bạn có thể thấy ở đây, mọi dòng ngoại trừ dòng cuối cùng (có chứa từ “cuối cùng”) đều có từ “line” được thay thế bằng từ “ghost”.


Chúng ta cũng có thể làm điều này với số dòng:

Nhưng ' 3 , 4 ! S / đường kẻ / đêm / tôi' file.txt > đêm.txt


Trong trường hợp này, dòng 3 và 4 được lược bỏ nhưng các dòng còn lại đều có từ “line” được thay thế bằng từ “night”.

Nhiều lệnh

Bây giờ, nếu bạn có nhiều lệnh thì sao? Bạn muốn làm từng việc một hay tất cả cùng một lúc để tiết kiệm thời gian và công sức?

Nếu chúng ta muốn đổi từ “thứ nhất” thành “ngày”, “thứ hai” thành “đêm”, “phần còn lại” thành “ma” thì sao? Chúng tôi sử dụng dấu chấm phẩy để làm điều này. Đừng quên đặt dấu chấm phẩy ở cuối!

Các bạn lưu ý không nhất thiết phải đặt cờ “i” hoặc cờ “bỏ qua” mà nhất thiết phải đặt dấu gạch chéo (/) sau cụm từ chuyển đổi.

Bây giờ, hãy kiểm tra nó bằng một ví dụ:

Nhưng 'S / Đầu tiên / ngày / ; S / thứ hai / đêm / ; S / ngày thứ ba / bóng ma / ; S / cuối cùng / bóng ma / ;’ tập tin.txt > sự kết hợp.txt


Phần kết luận

Trình chỉnh sửa luồng hoặc SED là cách chọn một từ hoặc một mẫu và chuyển đổi nó. Nó thực sự là dòng lệnh tương đương với chức năng “tìm” và “thay thế” của Window. Lệnh SED có thể thực sự phức tạp nhưng ít nhất nếu bạn biết những điều cơ bản thì bạn đã sẵn sàng thực hiện! SED thực sự là một công cụ rất mạnh với nhiều chức năng. Mặc dù chúng tôi không thể trình bày tất cả chúng trong một hướng dẫn, nhưng chúng tôi đã đề cập đến những kiến ​​thức cơ bản về SED. Về bản chất, chúng ta đã học cách chuyển đổi một từ cụ thể bằng cách sử dụng lệnh “s” trong đó “s” là viết tắt của từ thay thế. Chúng ta có thể thay thế các từ bằng các từ khác, chọn lọc một dòng nơi sự thay thế sẽ xảy ra hoặc thậm chí phủ nhận nó. Dù sao đi nữa, đây là phần dễ nhất về SED.

Chúc mừng mã hóa!