Ví dụ, thay vì toàn bộ hướng dẫn sử dụng, apt-get
tôi muốn chuyển sang -f
tùy chọn từ dấu nhắc thiết bị đầu cuối ngay lập tức mà không cần sử dụng tìm kiếm thông qua manpage.
man
, thay vì trả về một danh sách các dòng riêng biệt lộn xộn.
Ví dụ, thay vì toàn bộ hướng dẫn sử dụng, apt-get
tôi muốn chuyển sang -f
tùy chọn từ dấu nhắc thiết bị đầu cuối ngay lập tức mà không cần sử dụng tìm kiếm thông qua manpage.
man
, thay vì trả về một danh sách các dòng riêng biệt lộn xộn.
Câu trả lời:
Các máy nhắn tin mặc định được sử dụng bởi man
là less
. Bạn có thể chuyển mẫu tìm kiếm ERE (Biểu thức chính quy mở rộng) less
hiểu trực tiếp đến nó thông qua LESS
biến môi trường, trong trường hợp bạn nên làm như sau:
LESS='+/-f' man apt-get
Điều này giống hệt như vượt qua /-f
sau khi làm man apt-get
.
Bây giờ, điều này sẽ làm nổi bật tất cả các -f
s trong man
trang, để chuyển thẳng đến tùy chọn tức là -f
bạn muốn, bạn có thể tận dụng ERE để chỉ khớp với các dòng bắt đầu bằng dấu cách / tab, theo sau -f
:
LESS='+/^[[:blank:]]+-f' man apt-get
Mặc dù điều này sẽ làm ở đây nhưng vẫn có thể không chính xác cho tất cả các trang, vì điều này sẽ khớp với bất cứ điều gì bắt đầu -f
sau khoảng trắng / tab ban đầu. Tinh chỉnh mô hình một chút để đáp ứng bạn cần trong những trường hợp đó.
Bạn có thể tạo một hàm nhỏ để truyền mẫu tìm kiếm và man
trang cần tìm làm đối số, nếu bạn làm điều này thường xuyên.
Nhập một dấu gạch chéo về phía trước, thứ bạn đang tìm kiếm, rồi nhấn enter. Bạn sẽ nhảy đến lần xuất hiện đầu tiên. Nhấn Nđể di chuyển đến lần xuất hiện tiếp theo và Bquay lại. Vì vậy, trong trường hợp này:
/-f <enter>
/ -f
. Điều này sẽ bỏ qua bất kỳ sử dụng nội tuyến của -f
.
Sử dụng sed
để hiển thị toàn bộ đoạn của một tùy chọn bắt đầu bằng dấu gạch nối. Để hiển thị toàn bộ đoạn -f
tùy chọn ngay lập tức bằng cách chạy một lệnh sử dụng:
man apt-get | sed -n '/-f,/,/^$/p'
-f-,--no-f, -f=no or several other variations.
-f, --fix-broken
Fix; attempt to correct a system with broken dependencies in place.
This option, when used with install/remove, can omit any packages
to permit APT to deduce a likely solution. If packages are
specified, these have to completely correct the problem. The option
is sometimes necessary when running APT for the first time; APT
itself does not allow broken package dependencies to exist on a
system. It is possible that a system's dependency structure can be
so corrupt as to require manual intervention (which usually means
using dpkg --remove to eliminate some of the offending packages).
Use of this option together with -m may produce an error in some
situations. Configuration Item: APT::Get::Fix-Broken.
Điều này trả về toàn bộ đoạn cho -f
tùy chọn trong man apt-get
nhưng lệnh trên có thể được cải thiện bằng cách loại bỏ dấu phẩy sau -f
để làm cho nó thường hữu ích hơn như sau:
man apt-get | sed -n '/-f/,/^$/p'
Điều này trả về nhiều đoạn, hầu hết trong số đó bạn không muốn đọc. Bằng cách đọc các dòng đầu tiên của nhiều đoạn, bạn có thể thấy rằng bạn muốn chỉ hiển thị đoạn có chứa -f, --fix-broken
tùy chọn. Làm điều này như sau:
man apt-get | sed -n '/--fix-broken/,/^$/p'
-f, --fix-broken
Fix; attempt to correct a system with broken dependencies in place.
This option, when used with install/remove, can omit any packages
to permit APT to deduce a likely solution. If packages are
specified, these have to completely correct the problem. The option
is sometimes necessary when running APT for the first time; APT
itself does not allow broken package dependencies to exist on a
system. It is possible that a system's dependency structure can be
so corrupt as to require manual intervention (which usually means
using dpkg --remove to eliminate some of the offending packages).
Use of this option together with -m may produce an error in some
situations. Configuration Item: APT::Get::Fix-Broken.
Điều này chỉ trả về đầu ra mà bạn muốn đọc. Phương pháp này hoạt động với bất kỳ tùy chọn nào khác bắt đầu bằng dấu gạch nối và nó cũng hoạt động chung để tìm kiếm các tùy chọn bắt đầu bằng dấu gạch nối trong các lệnh khác ngoài việc apt-get
quá.
Nếu mô tả một đoạn không cung cấp đủ thông tin, lệnh sau sẽ hiển thị đoạn đầu tiên giống với lệnh trước và các đoạn tiếp theo sau nó.
LESS='+/^[[:space:]]*-f' man apt-get
Kết quả của lệnh này cho thấy các đoạn tiếp theo không thú vị lắm, nhưng đối với một số tùy chọn, các đoạn tiếp theo cũng thú vị. Đó là lý do tại sao đây cũng là một lệnh hữu ích để biết.