grep friert ein

grep friert ein

Ich habe Probleme bei der Verwendung von grep. Auf meinem Computer ist Ubuntu 18.04 unter Win 10 installiert. Bei den einfachsten Befehlen friert es ein. Ich kann es abbrechen und es erstellt eine neue Datei, wenn ich möchte, aber es schreibt nichts hinein.

$ mkdir test
$ cd test
$ ls
$ sudo grep "Werk!" > new
^C
$ ls
new
$ cat new

Übersehe ich etwas Offensichtliches?

Antwort1

Ja. Sie führen ein Grep-Verfahren mit STDIN durch, sodass es ewig hängt und auf eine Eingabe wartet, die nie kommt.

Sie wollten wahrscheinlich "." als Argument für grep und -r (rekursiv) einschließen, um das aktuelle Verzeichnis zu grepen.

grep -r hello .

Andere Leute finden das Standardverhalten auch grepnicht optimal, daher gibt es grepAlternativen, bei denen dieses Problem nicht auftritt. Zum Beispiel dieSilbersucherrichtet sich nach dem Namen agund durchsucht standardmäßig das aktuelle Verzeichnis rekursiv, Ihre Vermutung bezüglich der korrekten Syntax wäre also richtig gewesen ag:

ag hello

agstandardmäßig wird auch eine Suche ohne Berücksichtigung der Groß- und Kleinschreibung durchgeführt, es sei denn, Sie geben einen Großbuchstaben ein, was wohl auch das ist, was Sie wollen. Außerdem wird standardmäßig Farbe verwendet und die leistungsstärkere PCRE-Regex-Engine (wie Perl) anstelle der schwächeren, älteren Glob-Style-Übereinstimmung, die grepstandardmäßig verwendet wird.

grepAufgrund derartiger Usability-Probleme sollten Sie nach Möglichkeit eine neuere Alternative verwenden und diese nur nutzen grep, wenn es unbedingt sein muss. grepEs ist dennoch nützlich, ein Standardtool für Shell-Skripte zu kennen, das Sie gemeinsam nutzen und als Standarddienstprogramm auf jeder Linux-Box nutzen können, bei der Sie sich anmelden.

„ripgrep“ und „ack“ sind weitere gute Alternativen zu grep.

Antwort2

Sie haben das zweite Befehlsargument vergessen grep, das die Datei angibt, in der Sie nach dem Muster suchen.

Bitte FolgeMann 1 grepum Hilfe zu erhalten grep.

Antwort3

Vielleicht möchten Sie Texte in der Datei „Neu“ aufzeichnen. Dies können Sie mit „Echo Texte > Neu“ tun.

verwandte Informationen