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
- Dokumentation:
man grep
,info grep
, GNU grep Online-Handbuch - Eine Einführung in grep und egrep
- grep tutorial
- ripgrep – alternative Implementierung, standardmäßig rekursiv, respektiert
.gitignore
, Rust / PCRE2-Regex, SIMD usw. - E-Book zu GNU grep und ripgrep
sed
- Dokumentation:
man sed
,info sed
, GNU sed Online-Handbuch - Sed – Eine Einführung und ein Tutorial
- Sed durch Beispiel Teil 1 , Teil 2 , Teil 3
- sed Tutorial
- Ebook on GNU sed Einzeiler
awk
- Dokumentation:
man awk
,info awk
,info gawk
, GNU awk Online-Handbuch - AWK: Ein Tutorial und eine Einführung
- Awk by Beispiel Teil 1 , Teil 2 , Teil 3
- Ein AWK-Primer ( alt link )
- Ebook über GNU awk Einzeiler
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.