Jak uzyskać akapit dla określonej opcji polecenia od razu?

8

Na przykład zamiast całej instrukcji apt-getchcę -fod razu przejść do opcji z wiersza polecenia terminala, bez konieczności przeszukiwania strony podręcznika.

RS
źródło
1
@M. Becerra moje pytanie jest szersze.
RS
@Bererra To nie tylko szersze pytanie, ale także inne pytanie, ponieważ RS chce zwrócić cały akapit opcji w wynikach manzamiast zwracać pomieszaną listę oddzielnych wierszy.
karel

Odpowiedzi:

6

Domyślny pager manto less. Możesz przekazać wzorzec wyszukiwania ERE (Extended Regular Expression), który lessrozumie go bezpośrednio za pośrednictwem LESSzmiennej środowiskowej, w takim przypadku należy wykonać następujące czynności:

LESS='+/-f' man apt-get

Jest to dokładnie to samo, co podanie /-fpo wykonaniu man apt-get.

Teraz podświetliłoby to wszystkie -fs na manstronie, aby przejść bezpośrednio do żądanej, tj. Opcji -f, możesz użyć ERE, aby dopasować tylko linie rozpoczynające się spacjami / tabulatorami, a następnie -f:

LESS='+/^[[:blank:]]+-f' man apt-get

Chociaż byłoby to możliwe tutaj, ale nadal może nie być precyzyjne dla wszystkich stron, ponieważ będzie pasować do wszystkiego, co zaczyna się -fod początkowych spacji / tabulatorów. W takich przypadkach popraw trochę wzór, aby spełnić Twoje potrzeby.

Możesz utworzyć małą funkcję, aby przekazać wzorzec wyszukiwania i manstronę, która ma być argumentami, jeśli robisz to często.

heemayl
źródło
9

Wpisz ukośnik, szukaną rzecz, a następnie naciśnij klawisz Enter. Przeskoczysz do pierwszego wystąpienia. Naciśnij, Naby przejść do następnego wystąpienia i Bwrócić. Więc w tym przypadku:

/-f <enter>
James
źródło
4
Spróbuj dodać kilka spacji przed myślnikiem. Większość czasu, opcje są wcięte i że należy przejść w prawo do opcji: / -f. To powinno ominąć wszelkie wbudowane zastosowania -f.
tranzystor1
1

Użyj, sedaby pokazać cały akapit opcji, zaczynając od łącznika. Aby od -frazu wyświetlić cały akapit opcji, uruchamiając jedno polecenie, użyj:

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.  

Zwraca cały akapit dla -fopcji w man, apt-getale powyższe polecenie można ulepszyć, eliminując przecinek po, -faby uczynić go bardziej użytecznym w następujący sposób:

man apt-get | sed -n '/-f/,/^$/p'

Zwraca wiele akapitów, z których większość nie chcesz czytać. Czytając pierwsze wiersze wielu akapitów, możesz zobaczyć, że chcesz wyświetlić tylko akapit zawierający -f, --fix-brokenopcję. Wykonaj następujące czynności:

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. 

Zwraca tylko dane wyjściowe, które chcesz odczytać. Ta metoda działa z dowolnymi innymi opcjami rozpoczynającymi się od łącznika, a także ogólnie działa w przypadku wyszukiwania opcji rozpoczynających się od łącznika w innych poleceniach apt-get.

Wyświetlanie dodatkowych informacji za pomocą sed

Jeśli opis jednego akapitu nie zawiera wystarczającej ilości informacji, następujące polecenie pokaże pierwszy akapit tak samo jak poprzednie polecenie, a także następne akapity po nim.

LESS='+/^[[:space:]]*-f' man apt-get  

Wyniki tego polecenia pokazują, że kolejne akapity nie są bardzo interesujące, ale w przypadku niektórych opcji interesujące są również następne akapity. Dlatego jest to również przydatne polecenie, aby wiedzieć.

Karel
źródło