Mục Lục
1. Tổng quan
Trong macOS, câu lệnh sed là một công cụ mạnh mẽ để thực hiện các thay đổi trên dòng văn bản trong các tệp tin văn bản. sed là viết tắt của “stream editor,” và nó được sử dụng chủ yếu để xử lý và biến đổi dữ liệu văn bản theo các quy tắc cụ thể.
Dưới đây là một số tùy chọn và ví dụ cơ bản về cách sử dụng sed trong macOS:
2. Cú pháp cơ bản:
sed [tùy chọn] 'lệnh' tên_tệp3. Các tuỳ chọn của lệnh “sed”:
Lệnh sed có nhiều tuỳ chọn (options) để điều chỉnh cách thực hiện các thay đổi trên văn bản. Dưới đây là một số tuỳ chọn quan trọng:
- -n, –quiet, –silent: Không in ra các dòng sau khi thực hiện các thay đổi. Thường được sử dụng khi bạn chỉ muốn in ra các dòng đã được xử lý theo ý muốn.
- -e script, –expression=script: Cho phép chỉ định một hoặc nhiều kịch bản để thực hiện trên văn bản. Nếu có nhiều kịch bản, chúng sẽ được thực hiện theo thứ tự.
- -f script-file, –file=script-file: Đọc các kịch bản từ tệp tin script-file thay vì trực tiếp từ dòng lệnh.
- -r, –regexp-extended: Sử dụng biểu thức chính quy mở rộng (extended regular expressions) thay vì biểu thức chính quy cơ bản.
- -i[SUFFIX], –in-place[=SUFFIX]: Thực hiện thay đổi trực tiếp trên tệp tin đầu vào thay vì in ra đầu ra mới. SUFFIX có thể được sử dụng để tạo bản sao của tệp tin gốc với một phần mở rộng.
- -c, –copy: Bản sao đầu vào ra đầu ra mà không thực hiện bất kỳ thay đổi nào.
- -s, –separate: Xử lý mỗi tệp tin đầu vào như là một đầu vào riêng lẻ, thay vì kết hợp chúng lại.
- -u, –unbuffered: Xử lý dòng lệnh đầu ra mà không đệm, giúp đầu ra xuất hiện ngay lập tức.
- –version: Hiển thị thông tin về phiên bản
sed. - –help: Hiển thị thông tin trợ giúp về cách sử dụng
sedvà các tuỳ chọn.
Để biết thêm chi tiết và các tuỳ chọn khác, bạn có thể xem tài liệu hướng dẫn sed bằng cách sử dụng lệnh man sed trong môi trường dòng lệnh của hệ điều hành.
4. Ứng dụng của câu lệnh “sed”
Câu lệnh sed (stream editor) là một công cụ mạnh mẽ trong môi trường dòng lệnh, được thiết kế để thực hiện các phương thức biên tập và xử lý văn bản. Dưới đây là một số ứng dụng phổ biến của câu lệnh sed:
- Thay thế và Sửa Đổi Văn Bản:
sed 's/old/new/g' file: Thay thế tất cả các xuất hiện của chuỗi “old” bằng chuỗi “new” trong file.sed 's/pattern/replacement/' file: Thực hiện thay thế đầu tiên của mẫu bằng phần thay thế trong mỗi dòng.
- Xóa và Loại Bỏ Dòng:
sed '/pattern/d' file: Xóa các dòng chứa mẫu cụ thể.sed '1,5d' file: Xóa các dòng từ dòng 1 đến dòng 5.
- Thêm và Chèn Văn Bản:
sed '3i\inserted line' file: Chèn dòng “inserted line” trước dòng thứ 3.sed '$a\appended line' file: Chèn dòng “appended line” sau dòng cuối cùng.
- In và Hiển Thị Nội Dung:
sed -n '1,10p' file: Hiển thị nội dung từ dòng 1 đến dòng 10.sed '/pattern/p' file: Hiển thị các dòng chứa mẫu cụ thể.
- Biên Tập Đa Dạng:
sed 's/\(pattern\)/\1/' file: Sử dụng nhóm và backreference để tái sử dụng nội dung phù hợp.sed -e 's/expr/replace/' -e 's/expr/replace/' file: Kết hợp nhiều lệnhsedtrên cùng một dòng lệnh.
- Xử Lý Batch và Tự Động Hóa:
sed -i 's/old/new/g' file: Thực hiện thay thế trực tiếp trên file (cẩn thận với tùy chọn này vì nó làm thay đổi trực tiếp file).
- Tích Hợp với Pipe và Đường Ốp:
command | sed 's/old/new/g': Sử dụng kết quả của một lệnh khác như đầu vào chosed.
sed là một công cụ linh hoạt và mạnh mẽ, giúp tối ưu hóa và tự động hóa các nhiệm vụ biên tập văn bản trong môi trường dòng lệnh.
👋 Xin chào,
99,99% nội dung trên website này là nhờ hỏi ChatGPT, rồi mình biên tập lại để dễ hiểu và dùng lâu dài. Một vài bài tự viết, còn lại là “làm việc nhóm với AI” 😄
Mình lưu tại đây để tra cứu, học tập và chia sẻ với bạn bè. Nếu bạn tìm được gì hữu ích, cứ đọc thoải mái – miễn phí, không quảng cáo.
📱 Mình cũng có vài app cá nhân:
QuestionBank – Ôn thi vào 10 (iOS, Android)
TypingTest by QuestionBank (iOS, Android)
Cảm ơn bạn đã ghé qua!