{"id":6225,"date":"2022-04-28T12:41:39","date_gmt":"2022-04-28T10:41:39","guid":{"rendered":"https:\/\/speefak.spdns.de\/oss_lifestyle\/?p=6225"},"modified":"2023-04-19T23:44:20","modified_gmt":"2023-04-19T21:44:20","slug":"sed-syntax-beispiele","status":"publish","type":"post","link":"https:\/\/speefak.spdns.de\/oss_lifestyle\/sed-syntax-beispiele\/","title":{"rendered":"Sed Syntax Beispiele"},"content":{"rendered":"<h3>Beispiele:<\/h3>\n<table>\n<tbody>\n<tr>\n<td>sed -n &#8216;\/Muster\/p&#8217; &lt;File&gt;<\/td>\n<td>Ausgabe aller Zeilen, die &#8220;Muster&#8221; enthalten<\/td>\n<\/tr>\n<tr>\n<td>sed -n &#8216;\/Muster\/,\/^$\/p&#8217; &lt;File&gt;<\/td>\n<td>Zeilenausgabe ab &#8220;Muster&#8221; bis zur n\u00e4chsten Leerzeile<\/td>\n<\/tr>\n<tr>\n<td>sed &#8216;\/Muster\/d&#8217; &lt;File&gt;<\/td>\n<td>L\u00f6schen aller Zeilen, die &#8220;Muster&#8221; enthalten<\/td>\n<\/tr>\n<tr>\n<td>sed &#8216;s\/Muster\/Ersatz\/&#8217; &lt;File&gt;<\/td>\n<td>L\u00f6schen oder Ersetzen von Mustern<\/td>\n<\/tr>\n<tr>\n<td>sed -i &#8216;s\/Muster\/Ersatz\/&#8217; &lt;File&gt;<\/td>\n<td>&lt;File&gt; wird \u00fcberschrieben<\/td>\n<\/tr>\n<tr>\n<td>sed &#8216;s\/abc\/def\/;s\/ghi\/\/;s\/jkl\/\/&#8217; &lt;File&gt;<\/td>\n<td>mehrere Kommandos<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3><\/h3>\n<h3>Kommandos:<\/h3>\n<table>\n<tbody>\n<tr>\n<td>s\/old.*\/new\/<\/td>\n<td>l\u00f6scht alle Zeichen je Zeile ab &#8220;old&#8221; und f\u00fcgt daf\u00fcr &#8220;new&#8221; ein<\/td>\n<\/tr>\n<tr>\n<td>s\/.*old\/new\/<\/td>\n<td>l\u00f6scht alle Zeichen je Zeile bis &#8220;old&#8221; und f\u00fcgt daf\u00fcr &#8220;new&#8221; ein<\/td>\n<\/tr>\n<tr>\n<td>s\/e\/\/<\/td>\n<td>l\u00f6scht das erste &#8220;e&#8221; jeder Zeile<\/td>\n<\/tr>\n<tr>\n<td>s\/e\/\/g<\/td>\n<td>l\u00f6scht alle &#8220;e&#8221; jeder Zeile<\/td>\n<\/tr>\n<tr>\n<td>s\/ *\/ \/g<\/td>\n<td>ersetzt alle mehrfachen Leerzeichen durch ein einzelnes<\/td>\n<\/tr>\n<tr>\n<td>s\/^[[:space:]]*\/\/<\/td>\n<td>l\u00f6scht alle Leerzeichen und Tabulatoren zu Beginn einer Zeile<\/td>\n<\/tr>\n<tr>\n<td>10,$s\/&#8230;<\/td>\n<td>ab 10. Zeile bis Fileende<\/td>\n<\/tr>\n<tr>\n<td>\/old\/d<\/td>\n<td>l\u00f6scht alle Zeilen die &#8220;old&#8221; enthalten<\/td>\n<\/tr>\n<tr>\n<td>\/old\/!d<\/td>\n<td>l\u00f6scht alle Zeilen die kein &#8220;old&#8221; enthalten<\/td>\n<\/tr>\n<tr>\n<td>\/^old\/&#8230;<\/td>\n<td>alle Zeilen mit &#8220;old&#8221; am Anfang<\/td>\n<\/tr>\n<tr>\n<td>\/old$\/&#8230;<\/td>\n<td>alle Zeilen mit &#8220;old&#8221; am Ende<\/td>\n<\/tr>\n<tr>\n<td>s\/ab.*xy\/abxy\/<\/td>\n<td>l\u00f6scht alle Zeichen zwischen &#8220;ab&#8221; und &#8220;xy&#8221;<\/td>\n<\/tr>\n<tr>\n<td>s\/ab *xy\/abxy\/<\/td>\n<td>l\u00f6scht alle Leerzeichen zwischen &#8220;ab&#8221; und &#8220;xy&#8221;<\/td>\n<\/tr>\n<tr>\n<td>s\/ab.*xy\/\/<\/td>\n<td>l\u00f6scht alle Zeichen zwischen &#8220;ab&#8221; und &#8220;xy&#8221; einschlie\u00dflich &#8220;ab&#8221; und &#8220;xy&#8221;<\/td>\n<\/tr>\n<tr>\n<td>s\/.*,\/\/<\/td>\n<td>l\u00f6scht alle Zeichen bis zum Komma einschlie\u00dflich Komma<\/td>\n<\/tr>\n<tr>\n<td>s\/.*\\.\/\/<\/td>\n<td>l\u00f6scht alle Zeichen bis zum Punkt einschlie\u00dflich Punkt (Schr\u00e4gstrich vor Punkt, da Sonderzeichen)<\/td>\n<\/tr>\n<tr>\n<td>s\/^[0123456789]*\/\/<\/td>\n<td>l\u00f6scht alle Zahlen<\/td>\n<\/tr>\n<tr>\n<td>s\/^[^0-9]*\/\/<\/td>\n<td>l\u00f6scht alle Zeichen au\u00dfer Zahlen<\/td>\n<\/tr>\n<tr>\n<td>s\/.*\/&amp;&lt;br&gt;\/<\/td>\n<td>f\u00fcgt an alle Zeilen HTML-Zeilenumbr\u00fcche an (&#8220;&amp;&#8221; steht f\u00fcr den String der mit &#8220;\/.*\/&#8221; separiert wird)<\/td>\n<\/tr>\n<tr>\n<td>s\/}\/&amp;\\n\/g<\/td>\n<td>f\u00fcgt Zeilenumbr\u00fcche nach jeder schlie\u00dfenden geschweiften Klammer &#8220;}&#8221; ein<\/td>\n<\/tr>\n<tr>\n<td>\/start\/,\/stop\/<\/td>\n<td>alle Zeilen zwischen &#8220;start&#8221; und &#8220;stop&#8221;<\/td>\n<\/tr>\n<tr>\n<td>g\/^\\.EQ\/+,\/^\\.EN\/-p<\/td>\n<td>(?) alle Zeilen zwischen den Zeilen, die mit &#8220;.EQ&#8221; und &#8220;.EN&#8221; beginnen<\/td>\n<\/tr>\n<tr>\n<td>s\/\\(.*to\\) \\(the.*\\)\/\\2 \\1\/<\/td>\n<td>Vertauschen von Strings beginnend mit &#8220;to&#8221; und &#8220;the&#8221; (&#8220;.*to&#8221; =1 und &#8220;the.*&#8221; =2)<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3><\/h3>\n<h3>Weiteres:<\/h3>\n<table>\n<tbody>\n<tr>\n<td>tr -d &#8216;\\n&#8217;<\/td>\n<td>alle Zeilenumbr\u00fcche entfernen (ist mit sed deutlich komplizierter)<\/td>\n<\/tr>\n<tr>\n<td>tr &#8216;\\n&#8217; &#8216; &#8216;<\/td>\n<td>alle Zeilenumbr\u00fcche durch Leerzeichen ersetzen<\/td>\n<\/tr>\n<tr>\n<td>grep -v ^$<\/td>\n<td>l\u00f6scht alle Leerzeilen<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n","protected":false},"excerpt":{"rendered":"<p>Beispiele: sed -n &#8216;\/Muster\/p&#8217; &lt;File&gt; Ausgabe aller Zeilen, die &#8220;Muster&#8221; enthalten sed -n &#8216;\/Muster\/,\/^$\/p&#8217; &lt;File&gt; Zeilenausgabe ab &#8220;Muster&#8221; bis zur n\u00e4chsten Leerzeile sed &#8216;\/Muster\/d&#8217; &lt;File&gt; L\u00f6schen aller Zeilen, die &#8220;Muster&#8221; enthalten sed &#8216;s\/Muster\/Ersatz\/&#8217; &lt;File&gt; L\u00f6schen oder Ersetzen von Mustern sed -i &#8216;s\/Muster\/Ersatz\/&#8217; &lt;File&gt; &lt;File&gt; wird \u00fcberschrieben sed &#8216;s\/abc\/def\/;s\/ghi\/\/;s\/jkl\/\/&#8217; &lt;File&gt; mehrere Kommandos Kommandos: s\/old.*\/new\/ l\u00f6scht alle [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[24,54],"tags":[],"class_list":["post-6225","post","type-post","status-publish","format-standard","hentry","category-it-syntax","category-shell-programme"],"rttpg_featured_image_url":null,"rttpg_author":{"display_name":"speefak","author_link":"https:\/\/speefak.spdns.de\/oss_lifestyle\/author\/speefak_oss\/"},"rttpg_comment":0,"rttpg_category":"<a href=\"https:\/\/speefak.spdns.de\/oss_lifestyle\/category\/it-syntax\/\" rel=\"category tag\">IT Syntax<\/a> <a href=\"https:\/\/speefak.spdns.de\/oss_lifestyle\/category\/shell-programme\/\" rel=\"category tag\">Shell<\/a>","rttpg_excerpt":"Beispiele: sed -n &#8216;\/Muster\/p&#8217; &lt;File&gt; Ausgabe aller Zeilen, die &#8220;Muster&#8221; enthalten sed -n &#8216;\/Muster\/,\/^$\/p&#8217; &lt;File&gt; Zeilenausgabe ab &#8220;Muster&#8221; bis zur n\u00e4chsten Leerzeile sed &#8216;\/Muster\/d&#8217; &lt;File&gt; L\u00f6schen aller Zeilen, die &#8220;Muster&#8221; enthalten sed &#8216;s\/Muster\/Ersatz\/&#8217; &lt;File&gt; L\u00f6schen oder Ersetzen von Mustern sed -i &#8216;s\/Muster\/Ersatz\/&#8217; &lt;File&gt; &lt;File&gt; wird \u00fcberschrieben sed &#8216;s\/abc\/def\/;s\/ghi\/\/;s\/jkl\/\/&#8217; &lt;File&gt; mehrere Kommandos Kommandos: s\/old.*\/new\/ l\u00f6scht alle&hellip;","_links":{"self":[{"href":"https:\/\/speefak.spdns.de\/oss_lifestyle\/wp-json\/wp\/v2\/posts\/6225","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/speefak.spdns.de\/oss_lifestyle\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/speefak.spdns.de\/oss_lifestyle\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/speefak.spdns.de\/oss_lifestyle\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/speefak.spdns.de\/oss_lifestyle\/wp-json\/wp\/v2\/comments?post=6225"}],"version-history":[{"count":0,"href":"https:\/\/speefak.spdns.de\/oss_lifestyle\/wp-json\/wp\/v2\/posts\/6225\/revisions"}],"wp:attachment":[{"href":"https:\/\/speefak.spdns.de\/oss_lifestyle\/wp-json\/wp\/v2\/media?parent=6225"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/speefak.spdns.de\/oss_lifestyle\/wp-json\/wp\/v2\/categories?post=6225"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/speefak.spdns.de\/oss_lifestyle\/wp-json\/wp\/v2\/tags?post=6225"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}