Sed là gì? Tìm hiểu về lệnh Sed trong Linux
Sed là một tiện ích dòng lệnh vô cùng hữu ích trong việc chỉnh sửa văn bản, tìm kiếm và thay thế chuỗi ký tự, xóa dòng, chèn dòng cùng với rất nhiều thao tác khác. Bài viết này của Bizfly Cloud sẽ cung cấp cho bạn một cái nhìn tổng quan về Sed là gì? cách sử dụng Sed cơ bản.
Lệnh Sed là gì?
Sed là một trình chỉnh sửa dòng, thường được sử dụng để thay đổi văn bản trong các tệp. Nó được viết tắt từ "stream editor". Sed đọc từng dòng văn bản từ đầu vào, thực hiện các thay đổi đã được chỉ định và sau đó xuất ra kết quả. Các thay đổi được xác định bằng các biểu thức chính quy (regex). Điều này làm cho nó trở thành một công cụ hiệu quả cao để quản lý và chỉnh sửa văn bản, đặc biệt là khi làm việc với các tệp lớn hoặc tự động hóa các tác vụ trong lệnh.
Cú pháp của lệnh Sed trong Linux
Cú pháp cơ bản của lệnh sed như sau:
sed [options] 'command' file
Trong đó:
- options là các tùy chọn để tùy chỉnh hoạt động của sed, chẳng hạn như -n để tắt chế độ in dòng mặc định hoặc -i để thay đổi trực tiếp tệp đầu vào.
- command là một hoặc nhiều lệnh sẽ được thực hiện cho mỗi dòng của tệp file.
Các tùy chọn thường dùng trong lệnh Sed
sed [TÙY CHỌN]... {script-only-if-no-other-script} [input-file]...
Tùy chọn:
Sau đây là một số tùy chọn dòng lệnh của lệnh sed:
-n, --quiet, --silent: Cho phép in không gian mẫu một cách bắt buộc.
–help: in thông tin sử dụng lệnh.
-f script-file, --file=script-file: Được sử dụng để thêm nội dung của script-file vào các lệnh sẽ được thực thi.
--follow-symlinks: Theo dõi các liên kết tượng trưng khi xử lý tại chỗ.
–posix: Vô hiệu hóa tiện ích mở rộng sed POSIX để đơn giản hóa việc viết các tập lệnh di động.
-l N, --line-length=N: Được sử dụng để chỉ định độ dài ngắt dòng mong muốn cho lệnh `l'.
-E, -r, --regexp-extended: Cho phép chúng ta sử dụng các biểu thức chính quy mở rộng trong tập lệnh (để dễ chuyển đổi, hãy sử dụng POSIX -E).
-i[SUFFIX], --in-place[=SUFFIX]: Được sử dụng để chỉnh sửa các tập tin tại chỗ .
-s, --separate: được sử dụng để xem các tệp như là riêng biệt thay vì là một tệp duy nhất và tiếp tục luồng dài.
--sandbox: Vô hiệu hóa các chương trình chạy bên ngoài và chỉ hoạt động trên các tệp đầu vào trên dòng lệnh.
-u, --unbuffered: Được sử dụng để tải lượng dữ liệu tối thiểu từ các tệp đầu vào và xả bộ đệm đầu ra thường xuyên hơn.
-z, --null-data: Được sử dụng để phân tách các dòng bằng ký tự NUL.
--help: dùng để hiển thị hướng dẫn trợ giúp.
--version: Được sử dụng để hiển thị thông tin phiên bản.
Hướng dẫn chi tiết cách sử dụng lệnh Sed
Một số hệ thống đã được tích hợp sẵn lệnh sed trong bộ máy nhưng một số lại không có. Do đó để có thể biết được rằng máy đã có thể sử dụng lệnh sed hay chưa bạn cần kiểm tra bằng lệnh: sed --version.
Nếu chưa có, bạn hãy cài đặt theo hệ điều hành bằng những câu lệnh sau:
- Ubuntu/Debian: sudo apt-get install sed
- CentOS/RHEL: sudo yum install sed
- macOS (với Homebrew): brew install gnu-sed
Sau khi cài đặt, bạn có thể bắt đầu sử dụng các lệnh sed được trình bày trong phần tiếp theo của hướng dẫn.
Kết luận
Lệnh sed là một công cụ không thể thiếu trong bộ công cụ của bất kỳ quản trị viên hệ thống Linux, cũng như bất kỳ ai làm việc thường xuyên với dòng lệnh. Từ những thao tác đơn giản đến những thao tác phức tạp, sed cho phép bạn xử lý văn bản một cách hiệu quả và linh hoạt.
Qua bài viết này của Bizfly Cloud, hi vọng bạn đã nắm được những kiến thức cơ bản về sed và có thể tự tin áp dụng vào công việc của mình.