Angenommen, ich möchte die Verwendung des Befehls -i
switch in kennen, grep
ohne zu scrollen. Ich brauche die Spezifikation nur für diesen Befehl oder sehe zumindest, dass der Bildschirm dies zuerst zeigt. Wie also? Da kann man das generell nicht einfach so sagen grep -i
.
command-line
manpage
Mohammad Reza Rezwani
quelle
quelle
Antworten:
Versuchen Sie diesen einfachen
sed
Befehl,Erläuterung:
Es wird die Zeile gedruckt, die das Suchmuster enthält, zusammen mit 2 Zeilen, die direkt unterhalb der Suchmusterzeile angezeigt werden.
ODER
Sie können einfach nur die Flags im Suchmuster wie unten angeben.
Sie können dieses Skript zu Ihrem
.bashrc
($HOME/.bashrc
) hinzufügen, um schnell darauf zuzugreifen:quelle
Geben Sie den folgenden Befehl im Terminal ein:
Geben Sie dann einen Schrägstrich ein /und schreiben Sie Ihre Suche
-i
, gefolgt von Enter. Dadurch wird der Cursor beim ersten Auftreten der Suchzeichenfolge positioniert. Drücken von nbewegt den Cursor zum nächsten Vorkommen. Durch Drücken von Shift+ wird nder Cursor zum vorherigen Vorkommen bewegt.quelle
-i
derman grep
Manpage bezieht-i
.-i
. Genau das will das OP.Während der einfachste Ansatz darin besteht, /wie von @girardengo vorgeschlagen, mit zu suchen, können Sie auch
grep
anstelle dessen verwenden,sed
was ich einfacher finde:Das
-A N
bedeutet "N Zeilen nach der übereinstimmenden drucken. Nur ein Trick, um die nächsten Zeilen zu erhalten, ähnlich wie bei Avinashsed
.quelle
Sie können die Suchfunktion verwenden. Drücken Sie
man
einfach"s"
, geben Sie die gesuchte Taste ein (-i in Ihrem Fall) und drücken Sie intro.quelle
Oder lassen Sie diese Site nach Ihnen suchen:
http://explainshell.com/explain?cmd=grep+-i
Sie müssen für eine Weile von der Verwendung des Terminals zu einem Browser wechseln, aber es gibt auch Möglichkeiten, dies zu umgehen.
quelle
Die effizienteste Methode, die mir bekannt ist, ist das Durchsuchen der Manpage nach
-i
(Diese Site scheint meinen Code nicht zu rendern. Was ich meine ist<space><space><space>-i
). Das sind 3 Leerzeichen (möglicherweise benötigen Sie mehr / weniger Leerzeichen), gefolgt von der Flagge, nach der Sie suchen. Es funktioniert nach meiner Erfahrung fast immer, und Sie können in Fällen, in denen es nicht funktioniert, zu einer Variante davon wechseln.Dies funktioniert, weil die eigentliche Dokumentation der Flags normalerweise eingerückt ist. Es wird vermieden, andere Erwähnungen der Flagge in anderen Abschnitten zu finden, da normalerweise nur ein Leerzeichen vor ihnen steht.
quelle
Alle Antworten mögen in Ordnung sein, aber ich denke, Sie konzentrieren sich nur auf eine Dokumentation, nicht auf alle. So finden Sie beispielsweise den
-i
Schalter der grep-Dokumentation:Ich werde alle Informationen über "grep" finden, wie man die spezifischen "Befehlszeilenoptionen" für "Matching Control" "aufruft". Leider ist es nicht mehr tiefer als das gehen, aber es hat
-i
,-y
,--ignore-case
in den Premieren 25 Zeilen, etwas sinnvoll, dass Sie nicht zu tun haben , alles auf dem Weg zu bewegen.Diese Lösung ist flexibler und ermöglicht es Ihnen, alle Infoseiten zu durchsuchen:
(musste
--ignore-case
statt verwenden,-i
da es zu häufig war, aber man kann die Ausgabe auf jeden Fall nur zu info verarbeiten)In diesem Fall haben Sie sowohl den Namen der Infoseite als auch den genauen Abschnitt. Ah, fast vergessen, Sie können sich auch nur tabdurch die meisten Abschnitte der Infoseiten schleichen.
quelle
Sie können Perl und seinen "Absatzmodus" verwenden, um nur den relevanten Absatz zu extrahieren:
quelle
Mein bevorzugter Ansatz, um eine bestimmte Option auf einer
man
Seite zu finden, ist die Verwendung eines regulären Ausdrucks wie\s{2,}-option
. Fürman grep
die vorliegende Frage können Sie den regulären Ausdruck ausführen und dann eingeben:oder
Dies wird
-i
nur dann zutreffen, wenn drei oder mehr Leerzeichen folgen.quelle
Da
less
standardmäßig der Pager für verwendet wirdman
, können Sie dieLESS
Umgebungsvariable verwenden, um ein Muster zu übergeben, nach dem gesucht werden soll, wennless
die Seite geöffnet wird. Dies ist identisch, wenn Sie z . B.man ls
nach der Option suchen--all
oder das Muster-a
eingeben /, z . B.--all
oder-a
.All dies kann erfolgen durch:
Oder
Geben Sie ein, wonach Sie suchen möchten
/
.Vermutlich funktioniert dies am besten für die langen Optionen (z. B.
--all
) im Vergleich zu den kurzen Optionen (z. B.-a
).quelle
Wenn Sie
grep
dieman <program>
Ergebnisse für ein Muster anzeigen möchten, das mit einem Bindestrich beginnt, verwenden Sie--
vor dem angegebenen Muster. Beispiel mitman find
:Wenn Sie weitere Informationen benötigen, z. B. den gesamten Abschnitt, in dem eine Option beschrieben wird, versuchen Sie Folgendes
sed
:Quelle
quelle