linux - parser - Unterschiede zwischen grep, awk und sed




sed xml (2)

Mögliche Duplikate:
Was sind die Unterschiede zwischen Perl, Python, AWK und sed?
Was ist der Unterschied zwischen sed und awk?

Vielleicht keine sehr spezifische Frage, aber ich bin verwirrt über die Unterschiede zwischen grep , awk und sed in Bezug auf ihre Rolle in der Unix / Linux Systemadministration und Textverarbeitung.


Grep ist nützlich, wenn Sie schnell nach Linien suchen möchten, die in einer Datei übereinstimmen. Es kann auch einige andere einfache Informationen wie übereinstimmende Zeilennummern, Übereinstimmungsanzahl und Dateinamenslisten zurückgeben.

Awk ist eine komplette Programmiersprache, die darauf basiert, CSV-Dateien zu lesen, die Datensätze zu verarbeiten und optional einen Ergebnisdatensatz auszudrucken. Es kann viele Dinge tun, aber es ist nicht das einfachste Werkzeug für einfache Aufgaben.

Sed ist nützlich, wenn Sie Änderungen an einer Datei basierend auf regulären Ausdrücken vornehmen möchten. Damit können Sie Teile von Linien leicht zuordnen, Änderungen vornehmen und Ergebnisse ausdrucken. Es ist weniger ausdrucksstark als awk, aber es erleichtert die Verwendung für einfache Aufgaben. Es hat viele kompliziertere Operatoren, die Sie verwenden können (ich denke, es ist sogar vollständig), aber im Allgemeinen werden Sie diese Funktionen nicht verwenden.


Ich möchte nur eine Sache erwähnen, es gibt viele Werkzeuge können Textverarbeitung, zB sortieren, schneiden, spalten, verbinden, einfügen, Komm, uniq, Spalte, rev, tac, tr, nl, pr, Kopf, Schwanz ... ..

Sie sind sehr praktisch, aber Sie müssen ihre Optionen usw. lernen.

Ein fauler Weg (nicht der beste Weg), Textverarbeitung zu lernen, könnte sein: lerne nur grep, sed und awk. Mit diesen drei Tools können Sie fast 99% der Textverarbeitungsprobleme lösen und müssen sich nicht über verschiedene Cmds und Optionen auswendig lernen. :)

UND, wenn du die drei gelernt und benutzt hast, wusstest du den Unterschied. Tatsächlich bedeutet der Unterschied hier, welches Werkzeug gut ist, um welche Art von Problem zu lösen.

Ein etwas faulerer Weg wäre vielleicht, eine Skriptsprache (Python, Perl oder Ruby) zu lernen und jede Textverarbeitung damit zu machen.







grep