Lệnh unexpand của Linux được giải thích cho người mới bắt đầu (có ví dụ)

theanh

Administrator
Nhân viên
Làm việc trên dòng lệnh Linux đòi hỏi phải học cách thực hiện nhanh một số tác vụ lặp đi lặp lại. Một trong những tác vụ mà bạn có thể thấy mình tham gia sớm hay muộn là chuyển đổi khoảng trống thành tab hoặc ngược lại. Trong hướng dẫn này, chúng ta sẽ thảo luận về một tiện ích dòng lệnh - được gọi là unexpand - sẽ rất hữu ích trong những tình huống như vậy.

Nhưng trước khi bắt đầu, cần lưu ý rằng tất cả các ví dụ trong bài viết này đều đã được thử nghiệm trên máy Ubuntu 16.04 LTS.

Lệnh unexpand của Linux​

Lệnh unexpand cho phép bạn chuyển đổi khoảng trắng thành tab. Sau đây là cú pháp của lệnh:
Mã:
unexpand [OPTION]... [FILE]...
Và đây là cách trang hướng dẫn mô tả lệnh:
Mã:
Chuyển đổi các khoảng trống trong mỗi FILE thành các tab, ghi vào đầu ra chuẩn. Nếu không có FILE hoặc khi FILE là -, hãy đọc đầu vào chuẩn.
Sau đây là một số ví dụ theo kiểu Hỏi & Đáp sẽ giúp bạn hiểu rõ hơn về cách lệnh unexpand hoạt động.

Câu hỏi 1. Làm thế nào để sử dụng lệnh unexpand?​

Giả sử bạn có một tệp có văn bản chứa các tab. Bây giờ, vì lý do nào đó, bạn chuyển đổi các tab đó thành khoảng trắng bằng lệnh expand, và bây giờ bạn muốn chuyển đổi khoảng trắng thành tab một lần nữa, thì trong trường hợp này, bạn có thể sử dụng lệnh unexpand.

Ví dụ:
Mã:
unexpand file1
Công cụ tạo ra đầu ra đã chuyển đổi trên stdout. Vì vậy, để lưu đầu ra, bạn có thể chuyển hướng đầu ra đó đến một tệp nào đó. Ví dụ:
Mã:
unexpand file1 > file2
Cần đề cập rằng theo mặc định, công cụ này chỉ hoạt động trên các khoảng trắng ban đầu. Bạn có thể sử dụng tùy chọn -a để cho tiện ích biết rằng bạn muốn chuyển đổi tất cả các khoảng trắng/khoảng trắng thành tab.

Câu 2. Làm thế nào để buộc unexpand chỉ chuyển đổi khoảng trắng đầu/đầu dòng?​

Công cụ cung cấp tùy chọn buộc công cụ chỉ chuyển đổi khoảng trắng hoặc khoảng cách đầu dòng (kể cả khi có tùy chọn -a). Tùy chọn được đề cập là --first-only.
Mã:
unexpand --first-only -a file1 > file2

Câu hỏi 3. Tùy chọn -t có tác dụng gì?​

Vâng, tùy chọn -t có nhiều vai trò. Nó chấp nhận một số duy nhất hoặc một danh sách các số được phân tách bằng dấu phẩy. Khi bạn truyền một số duy nhất (giả sử là 'n'), lệnh unexpand đảm bảo nén các khoảng trắng trong tệp thành các tab sau mỗi 'n' vị trí.

Ví dụ: để công cụ nén các khoảng trắng thành các tab sau mỗi 3 vị trí, hãy sử dụng tùy chọn này theo cách sau:
Mã:
unexpand -t 3 file1 > file2
Mặt khác, nếu tùy chọn này được cung cấp danh sách các số được phân tách bằng lệnh, công cụ sẽ đặt các điểm dừng tab tại các vị trí cụ thể đó.
Mã:
unexpand -t 1,2,3 file1 > file2

Câu hỏi 4. Làm thế nào để unexpand đọc đầu vào từ STDIN?​

Điều này khá dễ - chỉ cần chạy lệnh mà không có bất kỳ tên tệp nào làm đầu vào (sử dụng ctrl+D để báo cho tiện ích biết rằng bạn đã hoàn tất).

Đây là những gì tôi đang nói đến:
Mã:
unexpand

Kết luận​

Tùy thuộc vào loại công việc bạn làm, lệnh unexpand có thể hữu ích rất nhiều. Trong hướng dẫn này, chúng tôi đã thảo luận về phần lớn các tùy chọn dòng lệnh mà công cụ này cung cấp. Để biết thêm thông tin, hãy truy cập trang hướng dẫn của nó.
 
Back
Bên trên