Angenommen, ich habe eine Datei mit vielen Wörtern, ich möchte nur das erste Wort mit dem Muster „xyz“ finden. Wie mache ich das, wenn mehrere Wörter mit diesem Muster in derselben Zeile stehen?-m
gibt alle Wörter in der ersten Zeile zurück, in der es passt. Ich brauche nur den Befehl grep.
Akzeptierte Antwort:
Standardmäßig grep
druckt die Linien Übereinstimmung mit einem Muster, also wenn das Muster einmal oder mehrmals in einer Zeile vorkommt, grep
druckt diese ganze Zeile.
Hinzufügen des Flags -m 7
wird grep
mitteilen um nur die ersten 7 Zeilen zu drucken, wo das Muster erscheint.
Das sollte also tun, was Sie wollen (ich habe es nicht getestet):
grep -o -m 1 xyz myfile | head -1
Bearbeiten:Wie von @Kusalananda hervorgehoben, benötigen Sie den -m
nicht unbedingt Flag, aber es zu verwenden bedeutet grep
muss nicht die gesamte Datei parsen und gibt das Ergebnis schneller aus, insbesondere wenn myfile
ist eine große Datei.