Làm thế nào để có được đoạn cho tùy chọn lệnh nhất định ngay lập tức?


8

Ví dụ, thay vì toàn bộ hướng dẫn sử dụng, apt-gettôi muốn chuyển sang -ftù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.



1
@M. Becerra câu hỏi của tôi là rộng hơn.
RS

@Becerra Không chỉ là một câu hỏi rộng hơn, mà còn là một câu hỏi khác, bởi vì RS muốn trả về toàn bộ đoạn của một tùy chọn trong kết quả man, thay vì trả về một danh sách các dòng riêng biệt lộn xộn.
karel

Câu trả lời:


6

Các máy nhắn tin mặc định được sử dụng bởi manless. Bạn có thể chuyển mẫu tìm kiếm ERE (Biểu thức chính quy mở rộng) lesshiểu trực tiếp đến nó thông qua LESSbiế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 /-fsau 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 -fs trong mantrang, để chuyển thẳng đến tùy chọn tức là -fbạ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 -fsau 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à mantrang cần tìm làm đối số, nếu bạn làm điều này thường xuyên.


9

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>

4
Hãy thử thêm một vài khoảng trắng trước dấu gạch ngang. Hầu hết thời gian, các tùy chọn được thụt lề và điều đó sẽ chuyển sang tùy chọn : / -f. Điều này sẽ bỏ qua bất kỳ sử dụng nội tuyến của -f.
bóng bán

1

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 -ftù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 -ftùy chọn trong man apt-getnhư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-brokentù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-getquá.

Hiển thị thông tin bổ sung với sed

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.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.