geschlossen . Diese Frage muss stärker fokussiert sein . Derzeit werden keine Antworten akzeptiert.

Kommentare

  • Ich mag thegeekstuff.com immer. Sie schneiden direkt zu den Beispielen, im Gegensatz zu der üblichen man -Seite, die sich wie 90% Fußnoten anfühlt.

Antwort

Normalerweise wird grep für die Suche Operationen, sed wird für Suchen und Ersetzen von Operationen verwendet und awk eignet sich besonders gut für tabellarische Daten und hat eine niedrigere Lernkurve als einige Alternativen. Es gibt auch überlappende Funktionen zwischen diesen Tools, siehe: Wann wird grep, less, awk, sed verwendet?

grep

sed

awk

Weiterführende Literatur

Antwort

The O“ Reilly sed und awk Buch ist großartig für er sed an d awk.

Antwort

Ich habe ein Buch über sed – Definitiver Leitfaden für sed – der ein Tutorial enthält. Es behandelt sed sowie verwandte Befehle wie grep, tr, head und tail. Deckt auch reguläre Ausdrücke viel besser ab, als ich es anderswo gesehen habe.

Ich stimme anderen zu, dass es sehr wichtig ist, reguläre Ausdrücke gut zu verstehen. Ich stimme auch zu, dass sed wird am besten für einfachere Aufgaben verwendet, komplexere Skripte werden schnell dunkel.

Ich bin nicht der Meinung, dass awk veraltet ist, im Gegenteil. Es ist wie bei vielen Unix-Skripten Dinge (z. B. vi) gibt es eine Lernkurve, aber es lohnt sich.

Ich bin nicht einverstanden mit dem Vorschlag, anstelle von grep. Nach meiner Erfahrung macht dies keinen Sinn. grep ist so großartig und einfach.

Antwort

Das von O „Rielly veröffentlichte Kochbuch für reguläre Ausdrücke würde ausreichen, um Sie in jeder Sprache, in der sie verwendet werden, überall hin zu bringen.

Antwort

Die Autoren des Buches sind Kernigan und Pike. Der Titel ist so etwas wie „The Unix P. rogramming Environment „.

Das Buch, aus dem ich tatsächlich gelernt habe, hieß“ Eine Einführung in Berkely Unix „.

Antwort

Wenn Sie eine dieser 3 lernen möchten (grep, sed und awk), können Sie einfach awk / gawk lernen. . awk kann die Funktionen von grep und sed ausführen, dh Regex zum Suchen / Ersetzen von Text verwenden, und vieles mehr, da es auch eine Programmiersprache ist.Wenn Sie die Innenseiten von gawk / awk kennenlernen, müssen Sie grep / sed / wc / cut usw. nicht verwenden. Nur ein Tool erledigt dies.

Antwort

Meiner Meinung nach ist awk mehr oder weniger veraltet (andere werden diese Meinung jedoch stark vertreten). Die meisten Leute, die ich heutzutage kenne, verwenden stattdessen eine Skriptsprache wie Perl oder heutzutage oft Python für fortgeschrittenen Text manipulation. sed eignet sich hervorragend für einfachere Textmanipulationsaufgaben. Ich verwende es ständig. Ich habe es hauptsächlich gelernt, indem ich sed-Einzeiler wie die unter . In Bezug auf grep: Nun, Sie möchten im Grunde ein solides Verständnis der regulären Ausdrücke (auch für sed erforderlich) erhalten. Ich habe hier nur die texinfo-Handbücher verwendet.

Kommentare

  • awk ist immer noch sehr nützlich für die Bearbeitung von Daten, die von anderen Befehlen weitergeleitet werden. Für eine einfache Befehlszeilenverwendung würde ich ' dies nicht berücksichtigen gerade noch veraltet.
  • Auch sollte es auf vielen Systemen verfügbar sein ms wegen POSIX.
  • Die meisten ' fortgeschrittenen AWK ' werden wahrscheinlich besser mit Perl oder Python oder was auch immer gemacht. Aber das einfache Zeug lässt sich gut mit nur awk machen.
  • Awk ist immer noch nützlich, um verschiedene Antworten zu verstehen, die Sie online finden können, wenn Sie versuchen, ein Problem zu lösen. Online finden Sie häufig Beispiele, die awk-Anweisungen wie awk '{print $3}' verwenden.
  • Bei der Arbeit und zu Hause verwende ich awk häufiger als sed. Bei festen tabellarischen Daten kann nichts besser sein als bei der Ausgabe dpkg -l. Ich würde ' nichts entfernt Kompliziertes tun, aber ich ' wäre ein kurzes Werkzeug ohne awk. Ich kann ' nicht dasselbe für allgemeinere Programmiersprachen sagen, so sehr ich einige von ihnen mag.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.