GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie begrenze ich die Anzahl der von grep zurückgegebenen Ergebnisse?

Eine andere Möglichkeit ist einfach die Verwendung von head:

grep ...parameters... yourfile | head

Dies erfordert nicht das Durchsuchen der gesamten Datei - es wird beendet, wenn die ersten zehn übereinstimmenden Zeilen gefunden werden. Ein weiterer Vorteil bei diesem Ansatz ist, dass nicht mehr als 10 Zeilen zurückgegeben werden, selbst wenn Sie grep mit der Option -o verwenden.

Wenn die Datei beispielsweise die folgenden Zeilen enthält:

112233
223344
123123

Dann ist dies der Unterschied in der Ausgabe:

$ grep -o '1.' yourfile | head -n2
11
12

$ grep -m2 -o '1.'
11
12
12

Mit head gibt wie gewünscht nur 2 Ergebnisse zurück, während -m2 3 zurückgibt.


Die -m Option ist wahrscheinlich das, wonach Sie suchen:

grep -m 10 PATTERN [FILE]

Ab man grep :

-m NUM, --max-count=NUM
        Stop reading a file after NUM matching lines.  If the  input  is
        standard  input  from a regular file, and NUM matching lines are
        output, grep ensures that the standard input  is  positioned  to
        just  after the last matching line before exiting, regardless of
        the presence of trailing context lines.  This enables a  calling
        process  to resume a search.

Hinweis:grep stoppt das Lesen der Datei, sobald die angegebene Anzahl von Übereinstimmungen gefunden wurde!


Linux
  1. Wie zähle ich die Anzahl der Zeilen in einer Datei nach einem Grep-Match?

  2. Wie man nur die Anzahl der Zeilen einer Datei erhält

  3. Wie man die Ergebnisse von 'find' unter Linux an mv weiterleitet

  4. Wie kann ich die letzte Zahl von String in Bash bekommen?

  5. Wie kann ich eindeutige Ergebnisse aus der grep-Ausgabe herausfiltern?

So verwenden Sie den Linux-Grep-Befehl

5 Möglichkeiten, die Anzahl der Zeilen in einer Datei zu zählen

Wie zeigt man mit dem Linux-Befehl „cat“ nur bestimmte Zeilen nach Nummer an?

Wie erstelle ich ein grafisches Diagramm einer Folge von Zahlen aus der Standardeingabe?

Wie kann ich die Ausgabe von grep an cp weiterleiten?

Linux - grep von bestimmten Zeilen bis zum Ende der Datei