<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[sed]]></title><description><![CDATA[<p>Hallo Leute.</p>
<p>Ich will mit sed eine Versionsnummer aus einer Zeile auslesen:<br />
Die Zeile sieht etwa so aus:</p>
<p>bla3.2blup</p>
<p>dh, 3.2 ist die Versionsnummer und bla/blup sind uninteressante (aber immer gleiche) Teile des Versionsstrings.</p>
<p>Mein Versuch mit</p>
<pre><code>echo bla3.2blup | sed 's/bla\([0-9\.]+\)blup/\1/'
</code></pre>
<p>hat mir wieder das komplette &quot;bla3.2blup&quot; ausgegeben.</p>
<p>Lustigerweise funktioniert ein</p>
<pre><code>echo bla3.2blup | sed 's/bla\(3\.2\)blup/\1/'
</code></pre>
<p>aber korrekt und gibt mir &quot;3.2&quot; aus.</p>
<p>Wie muss es korrekt lauten?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/267277/sed</link><generator>RSS for Node</generator><lastBuildDate>Tue, 28 Apr 2026 07:40:39 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/267277.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 21 May 2010 12:43:51 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to sed on Fri, 21 May 2010 12:43:51 GMT]]></title><description><![CDATA[<p>Hallo Leute.</p>
<p>Ich will mit sed eine Versionsnummer aus einer Zeile auslesen:<br />
Die Zeile sieht etwa so aus:</p>
<p>bla3.2blup</p>
<p>dh, 3.2 ist die Versionsnummer und bla/blup sind uninteressante (aber immer gleiche) Teile des Versionsstrings.</p>
<p>Mein Versuch mit</p>
<pre><code>echo bla3.2blup | sed 's/bla\([0-9\.]+\)blup/\1/'
</code></pre>
<p>hat mir wieder das komplette &quot;bla3.2blup&quot; ausgegeben.</p>
<p>Lustigerweise funktioniert ein</p>
<pre><code>echo bla3.2blup | sed 's/bla\(3\.2\)blup/\1/'
</code></pre>
<p>aber korrekt und gibt mir &quot;3.2&quot; aus.</p>
<p>Wie muss es korrekt lauten?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1900736</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1900736</guid><dc:creator><![CDATA[Shade Of Mine]]></dc:creator><pubDate>Fri, 21 May 2010 12:43:51 GMT</pubDate></item><item><title><![CDATA[Reply to sed on Fri, 21 May 2010 13:18:37 GMT]]></title><description><![CDATA[<pre><code># deiner
$ echo bla3.2blup | sed 's/bla\([0-9\.]+\)blup/\1/'

# meiner
$ echo bla3.2blup | sed 's/bla\([0-9\.]\+\)blup/\1/'
</code></pre>
<p>Du musst + escapen, damit nicht &quot;+&quot; sondern &quot;mind. 1&quot; matchen kann. (boah, schrecklich dieses denglish)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1900748</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1900748</guid><dc:creator><![CDATA[supertux]]></dc:creator><pubDate>Fri, 21 May 2010 13:18:37 GMT</pubDate></item><item><title><![CDATA[Reply to sed on Fri, 21 May 2010 13:30:43 GMT]]></title><description><![CDATA[<p>supertux schrieb:</p>
<blockquote>
<p>Du musst + escapen, damit nicht &quot;+&quot; sondern &quot;mind. 1&quot; matchen kann. (boah, schrecklich dieses denglish)</p>
</blockquote>
<p>Danke. Verstehe ich zwar nicht ganz, warum man da soviel immer escapen muss, bei Perl und Konsorten ist das Escapen ja genau umgekehrt. Aber leider funktioniert es immer noch nicht:</p>
<pre><code>$ echo bla3.2blup | sed 's/bla\([0-9\.]\+\)blup/\1/'
bla3.2blup
</code></pre>
<p>PS:<br />
ich verwende OS X, dh also ein BSD sed. Versionsnummer hab ich leider keine Ahnung da sed ja kein --version oder dergleichen kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1900752</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1900752</guid><dc:creator><![CDATA[Shade Of Mine]]></dc:creator><pubDate>Fri, 21 May 2010 13:30:43 GMT</pubDate></item><item><title><![CDATA[Reply to sed on Fri, 21 May 2010 13:30:17 GMT]]></title><description><![CDATA[<p>Also, bei mir gehts:</p>
<pre><code>$ echo bla3.2blup | sed 's/bla\(3\.2\)blup/\1/'
3.2
$ sed --version
GNU sed version 4.2.1
Copyright (C) 2009 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE,
to the extent permitted by law.

GNU sed home page: &lt;http://www.gnu.org/software/sed/&gt;.
General help using GNU software: &lt;http://www.gnu.org/gethelp/&gt;.
E-mail bug reports to: &lt;bug-gnu-utils@gnu.org&gt;.
Be sure to include the word ``sed'' somewhere in the ``Subject:'' field.
</code></pre>
<p>du benutzt auch MacOS, oder? Was für ein sed ist da installiert?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1900753</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1900753</guid><dc:creator><![CDATA[supertux]]></dc:creator><pubDate>Fri, 21 May 2010 13:30:17 GMT</pubDate></item><item><title><![CDATA[Reply to sed on Fri, 21 May 2010 13:34:00 GMT]]></title><description><![CDATA[<p>supertux schrieb:</p>
<blockquote>
<p>du benutzt auch MacOS, oder? Was für ein sed ist da installiert?</p>
</blockquote>
<p>ja, OS X 10.6. Der Code muss aber auch auf 10.5 und 10.4 laufen. Aber Apple tut an den BSD Tools eh so gut wie nie was ändern.</p>
<p>und BSD sed kann leider kein --version</p>
<p>Die manpage ist vom 10. May 2005 - falls das hilft.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1900755</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1900755</guid><dc:creator><![CDATA[Shade Of Mine]]></dc:creator><pubDate>Fri, 21 May 2010 13:34:00 GMT</pubDate></item><item><title><![CDATA[Reply to sed on Fri, 21 May 2010 13:47:07 GMT]]></title><description><![CDATA[<p>ne, das hilft mir nicht weiter <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /> vielleicht gibt es auf der man-page Hinweise, wie man für diese Version Regular Expresions baut (die awk man-page hat sowas z.B.).</p>
<p>Muss es unbedingt [0-9\.]+ sein? Würde es nicht [0-9\.]* genügen?</p>
<p>edit://<br />
wie wäre es damit?</p>
<pre><code>sed -e 's/[^0-9\.]//g'
</code></pre>
<p>bei mir zumindest:</p>
<pre><code>$ echo bla3.2blup | sed -e 's/[^0-9\.]//g'
3.2
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1900758</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1900758</guid><dc:creator><![CDATA[supertux]]></dc:creator><pubDate>Fri, 21 May 2010 13:47:07 GMT</pubDate></item><item><title><![CDATA[Reply to sed on Fri, 21 May 2010 13:49:42 GMT]]></title><description><![CDATA[<p>supertux schrieb:</p>
<blockquote>
<p>ne, das hilft mir nicht weiter <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /> vielleicht gibt es auf der man-page Hinweise, wie man für diese Version Regular Expresions baut (die awk man-page hat sowas z.B.).</p>
<p>Muss es unbedingt [0-9\.]+ sein? Würde es nicht [0-9\.]* genügen?</p>
</blockquote>
<p>Es genügt auch [0-9.] statt [0-9\.]. Das ist sogar korrekter, denn [0-9\.] matcht die Ziffern 0 bis 9 sowie die beiden Zeichen &quot;\&quot; und &quot;.&quot;. (edit: Es matcht Backslash und Punkt. Aus irgendeinem Grund verschluckt das Forum den Backslash, den ich eingebe.) Bei regexp verlieren innerhalb von character sets fast alle Zeichen ihre Sonderbedeutung, den Punkt muss man dort nicht escapen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1900761</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1900761</guid><dc:creator><![CDATA[Christoph]]></dc:creator><pubDate>Fri, 21 May 2010 13:49:42 GMT</pubDate></item><item><title><![CDATA[Reply to sed on Fri, 21 May 2010 13:49:50 GMT]]></title><description><![CDATA[<p>supertux schrieb:</p>
<blockquote>
<p>ne, das hilft mir nicht weiter <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /> vielleicht gibt es auf der man-page Hinweise, wie man für diese Version Regular Expresions baut (die awk man-page hat sowas z.B.).</p>
</blockquote>
<p>Inoffizieller Workaround für FreeBSD war mach ein grep über die Sourcen...<br />
Die hab ich aber logischerweise nicht.</p>
<blockquote>
<p>Muss es unbedingt [0-9\.]+ sein? Würde es nicht [0-9\.]* genügen?</p>
</blockquote>
<p>Muss nicht, * tut es auch und damit funktioniert es auch:</p>
<pre><code>$ echo bla3.2blup | sed 's/bla\([0-9\.]*\)blup/\1/'
3.2
</code></pre>
<p>Danke <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Weisst du zufällig auch warum es damit funktioniert und ich * nicht escapen muss?</p>
<p>PS:<br />
danke auch an Christoph.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1900763</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1900763</guid><dc:creator><![CDATA[Shade Of Mine]]></dc:creator><pubDate>Fri, 21 May 2010 13:49:50 GMT</pubDate></item><item><title><![CDATA[Reply to sed on Fri, 21 May 2010 13:53:39 GMT]]></title><description><![CDATA[<p>supertux schrieb:</p>
<blockquote>
<p>wie wäre es damit?</p>
<pre><code>sed -e 's/[^0-9\.]//g'
</code></pre>
</blockquote>
<p>Das geht leider nicht, da ich nicht alle Ziffern aus dem Versionsstring auslesen will. zB die Jahreszahl steht dort auch drinnen. Die ist uninteressant.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1900765</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1900765</guid><dc:creator><![CDATA[Shade Of Mine]]></dc:creator><pubDate>Fri, 21 May 2010 13:53:39 GMT</pubDate></item><item><title><![CDATA[Reply to sed on Fri, 21 May 2010 14:03:54 GMT]]></title><description><![CDATA[<p>Shade Of Mine schrieb:</p>
<blockquote>
<p>Weisst du zufällig auch warum es damit funktioniert und ich * nicht escapen muss?</p>
</blockquote>
<p>es tut funktionieren, weil [0-9\.]* sagt, dass es keine oder mehrere Zeichen aus der Liste hintereinander kommen dürfen. Da du ja gezielt eine Zeile parst, wo die Versin sich befindet (also nicht leer), genügt das.</p>
<p>Warum man für &quot;keine oder mehrere&quot; nicht escpaen muss, keine Ahnung. Scheint nicht ganz so konsistent zu sein.</p>
<p>Christoph schrieb:</p>
<blockquote>
<p>Es genügt auch [0-9.] statt [0-9\.]. Das ist sogar korrekter, denn [0-9\.] matcht die Ziffern 0 bis 9 sowie die beiden Zeichen &quot;\&quot; und &quot;.&quot;. (edit: Es matcht Backslash und Punkt. Aus irgendeinem Grund verschluckt das Forum den Backslash, den ich eingebe.) Bei regexp verlieren innerhalb von character sets fast alle Zeichen ihre Sonderbedeutung, den Punkt muss man dort nicht escapen.</p>
</blockquote>
<p>hhäääämmmm, das wusste ich nicht. Schön, man lernt jeden Tag was Neues.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1900772</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1900772</guid><dc:creator><![CDATA[supertux]]></dc:creator><pubDate>Fri, 21 May 2010 14:03:54 GMT</pubDate></item></channel></rss>