Warum Sed Befehl in Linux schwer zu lernen?
Ich versuche seit Tagen "sed" Befehl in Linux gründlich zu lernen und habe auch die Grundlagen drauf von der man Page von Sed bzw. Info Page. Nur das Problem ist dass da viel durcheinander ist wie ich finde dass es mit unglaublich schwer fällt Durchblick zu haben und außerdem gibt es viele Sachen wozu einfach keine Beispiele gibt und wo jedes von denen sich ein bisschen bis viel unterscheidet.
Bin dabei aufzugeben. Was tun ? 😔
Und ja klar kann ich das Internet benutzen aber manchmal bin ich so hart durcheinander dass ich nicht mal weiß was ich fragen soll..Außerdem sollte man doch die Man Page ohne Internet verstehen können :(
4 Antworten
Anderes Programm nehmen, was dir besser gefällt. Ich benutze sed nur selten und wenn dann nur zum Suchen & Ersetzen oder filtern (wenn grep nicht reicht). Komplexere Sachen mache ich mit perl (keine Empfehlung, auch kompliziert, aber habe ich mal gelernt als CGI aufkam).
SED selbst ist doch nun wirklich nicht schwer ;-)
Die RegEx sind die schweren Geschichten dabei.
Ich benutze Linux jetzt seit nunmehr 25 jahren und habe die RegEx immer noch nicht drauf - habe diese allerdings auch noch nie gebraucht.
In den letzten Monaten mache ich sehr viel mit der bash, benötige da den sed auch nur, um Zeichenketten in Dateien auszutauschen, was relativ harmlos und schnell über die Bühne geht.
Ich empfehle Dir aber unbedingt, Dich nicht nur auf die man page zu stützen - sondern mal im Netz nach sed und awk für Anfänger zu suchen. Da wird man schnell fündig.
Schon klar, Linux ist eben nun einmal kein Klicki-Klicki-Bunti-Bunti ;-)
Außerdem sollte man doch die Man Page ohne Internet verstehen können :(
Du erwartest zu viel von einer man-Page eines Tools, das fast einer eigenen Skriptsprache gleichkommt und über das andere 400 Seiten dicke Bücher geschrieben haben, wie z.B. das Buch sed & awk von Dale Dougherty, Arnold Robbins, O'Reilly. Eine man-Page kann habe ich stets maximal als eine Art Formelsammlung / Nachschlagewerk oder Reference Manual verstanden. Eine Schulungs-Unterlage ist das jedenfalls nur extrem bedingt, je komplexer das betreffende Werkzeug ist.
In der einfachen Form ist der Befehl relativ leicht, da er mehr oder weniger den anderen Editoren entspricht, bzw den regular expressions.
Komplizierter wird es, wenn man anfängt, mit hold space, pattern space und so weiter zu arbeiten. Ich muss gestehen, dass ich des öfteren sed-befehle durch einige andere Kommandos ersetzt habe. Ganz einfach deswegen, weil die mir lockerer aus dem Ärmel gefallen sind.
https://tty1.net/sed-tutorium/sed-tutorium.pdf
https://www.ionos.de/digitalguide/server/konfiguration/linux-sed-befehl/
ich finde Sed sehr umständlich geschrieben und habe seit Tagen das Gefühl dass ich wenig bis gar keine Fortschritte mache vorallem weil das so durcheinader geschrieben ist und manchmal sogar ohne Beispiele aber manchmal wieder schon :(
Der Stream Editor ermöglicht halt eine sehr kompakte Schreibweise. Meiner Meinung nach ist es manchmal sogar vernünftig, darauf zu verzichten. Persönlich halte ich awk für fast wichtiger.
Das ist Ansichtssache oder vielleicht auch Übung. Mir liegt der mehr.
Ich fand immer, dass man ein Tool am besten lernt, wenn man damit eine Lösung finden muss und diese dann Schritt für Schritt erarbeitet. Da muss man durchaus auch oft irgendwelche Beispiele und Kommentare aus dem Internet sichten. Da es diese Tools schon lange gibt, findet sich entsprechend viel dazu. Man Pages sind eher eine Gedankenstütze für denjenigen, der schon prinzipiell weiss wie es funktioniert und nur mal eben einige Optionen nachgucken muss. Das sind keine Tutorials.
Beides taugt nicht zum erlernen eines Tools.
Es heisst ja auch Info und nicht Tutorials.
Kauf dir ein sed Buch.
Zum Beispiel
sed & awk https://amzn.eu/d/3yO5HpJ
Voraussetzung für sehr viele Tools ist, dass man die regular expressions weitgehend verstanden hat.
Ok danke. Dennoch gibt es Sachen die mich so hart verwieren dass ich nicht mehr weiß wie ich danach fragen soll haha