Betreff-Ack-Dienstprogramm
Ich bin nicht sicher, ob es möglich ist, aber ich muss die folgende Frage stellen, weil ich ein großes Problem habe -
Ich verwende das Dienstprogramm ack, um Zeichenfolgen in sehr, sehr, sehr großen Dateien zu finden
Das Problem ist, wenn ack die Zeichenfolge in der Datei findet, aber ack weiter nach derselben Zeichenfolge sucht, bis das Ende der Datei erreicht ist.
Meine Frage ist, ob es möglich ist, die Suche in der Datei zu stoppen, wenn die erste Zeichenfolge gefunden wurde?
Mein Problem ist, dass ack viel Zeit in Anspruch nimmt, da die größten Dateien
mein Ziel besteht jedenfalls nur darin, die erste übereinstimmende Zeichenfolge zu finden und dann sofort aus der Datei in andere Dateien zu gelangen.
hat jemand eine kreative Idee, wie man ack verwendet, wie ich es erklärt habe?
./ack -a some_string /var
Antwort1
Das einzige ACK, das ich gefunden habe, ist der Kanji-Konverter – meinen Sie das?
grep kann die Aufgabe erledigen und Sie können es jederzeit stoppen.:
Hier ist die entsprechende Option:
-m NUM, --max-count=NUM
Stop reading a file after NUM matching lines.
Sie können es wie folgt verwenden:
grep -m 1 some_string file_name
Weitere Einzelheiten finden Sie auf der Manpage von grep.
Antwort2
Ich finde die Lösung
muss schreiben:
./ack -a --max-count=1 some_string /var