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ệp
3. 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
sed
và 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ệnhsed
trê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% bài viết tại website là kết quả của khai thác dữ liệu từ AI ChatGPT sau đó được lựa chọn, biên tập lại nội dung, chỉ vài bài là không dùng AI. Tôi lưu tại website này để tra cứu khi cần, để học và để chia sẻ cho bạn bè tôi. Nếu bạn tìm thấy nội dung nào đó khi tìm kiếm thì cứ đọc thoải mái, nó miễn phí, không quảng cáo.
Các bạn có thể tải app của tôi trên App Store hoặc Google Play:
QuestionBank-Ôn thi vào 10: phiên bản iOS, phiên bản Android
TypingTest by QuestionBank: phiên bản iOS, phiên bản Android
Xin cảm ơn,
Minh