<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>Substring aus Varibale zurückgeben</title>
    <link>http://forum.geizhals.at/feed.jsp?id=858713</link>
    <description>Geizhals-Forum</description>
    <item>
      <title>Re(4): Substring aus Varibale zurückgeben</title>
      <link>http://forum.geizhals.at/t858713,7403357.html#7403357</link>
      <description>Auch Dir ein "Danke", und falls ich jemals in die Verlegenheit kommen sollte, wieder mal sowas in der Form zu brauchen hab ich eine wesentlich bessere "Vorlage", aber für meinen Zweck war der Hinweis auf &lt;i&gt;basename&lt;/i&gt; schon goldrichtig - und mein Script hat genau das gemacht, was es sollte &lt;img src="smile.gif" width="16" height="19" align="absmiddle" alt=":)"/&gt;&lt;br/&gt;</description>
      <pubDate>Mon, 29 Dec 2014 23:00:21 GMT</pubDate>
      <guid>http://forum.geizhals.at/t858713,7403357.html#7403357</guid>
      <dc:creator>Glockman</dc:creator>
      <dc:date>2014-12-29T23:00:21Z</dc:date>
    </item>
    <item>
      <title>Re(3): Substring aus Varibale zurückgeben</title>
      <link>http://forum.geizhals.at/t858713,7403236.html#7403236</link>
      <description>Sobald dein Script ueber einen Pfadnamen stolpert, der Word Splitting bedingt, bricht es in hundert kleine Scherben, und du wirst das Ergebnis nicht moegen.&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;div class=code&gt;&lt;pre&gt;for i in `ls *`&lt;/pre&gt;&lt;/div&gt;&lt;br&gt;&lt;br&gt;ist FALSCH.&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;div class=code&gt;&lt;pre&gt;for i in *&lt;/pre&gt;&lt;/div&gt;&lt;br&gt;&lt;br&gt;ist richtig.&lt;br&gt;&lt;br&gt;Variablen musst du zur Expansion in Double Quotes stecken, denn sonst bricht dein Script auch bei dieser Gelegenheit beim Word Splitting.&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Ein Vorschlag - auch wenn ich "dank" der etwas bescheidenen Praesentation des Problems (wie waere es mit "ich habe diese Liste von Files, und will, dass sie nach diesem Muster [ein Bsp.] verschoben werden") nicht ganz sicher bin, ob das dem dir gewuenschten Vorgang gleichkommt:&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;div class=code&gt;&lt;pre&gt;&#xD;
colo@zealot:~ $ ls -R Verzeichnis/&#xD;
Verzeichnis/:&#xD;
dir1  dir2  dir3&#xD;
&#xD;
Verzeichnis/dir1:&#xD;
fileA.ext  fileB.ext  fileC.ext  Niete&#xD;
&#xD;
Verzeichnis/dir2:&#xD;
fileD.ext  fileE.ext  fileF.ext  Zonk&#xD;
&#xD;
Verzeichnis/dir3:&#xD;
fileG.ext  fileH.ext  fileI.ext  Spindelegger&#xD;
&#xD;
&#xD;
&#xD;
colo@zealot:~ $ ./script.bash &#xD;
~/Verzeichnis ~&#xD;
Full file name: dir1/fileA.ext&#xD;
File: fileA.ext&#xD;
New name: /home/colo/NeuesVerzeichnis/dir1_fileA.ext.NEUEEXT&#xD;
&#xD;
Full file name: dir1/fileB.ext&#xD;
File: fileB.ext&#xD;
New name: /home/colo/NeuesVerzeichnis/dir1_fileB.ext.NEUEEXT&#xD;
&#xD;
Full file name: dir1/fileC.ext&#xD;
File: fileC.ext&#xD;
New name: /home/colo/NeuesVerzeichnis/dir1_fileC.ext.NEUEEXT&#xD;
&#xD;
Full file name: dir2/fileD.ext&#xD;
File: fileD.ext&#xD;
New name: /home/colo/NeuesVerzeichnis/dir2_fileD.ext.NEUEEXT&#xD;
&#xD;
Full file name: dir2/fileE.ext&#xD;
File: fileE.ext&#xD;
New name: /home/colo/NeuesVerzeichnis/dir2_fileE.ext.NEUEEXT&#xD;
&#xD;
Full file name: dir2/fileF.ext&#xD;
File: fileF.ext&#xD;
New name: /home/colo/NeuesVerzeichnis/dir2_fileF.ext.NEUEEXT&#xD;
&#xD;
Full file name: dir3/fileG.ext&#xD;
File: fileG.ext&#xD;
New name: /home/colo/NeuesVerzeichnis/dir3_fileG.ext.NEUEEXT&#xD;
&#xD;
Full file name: dir3/fileH.ext&#xD;
File: fileH.ext&#xD;
New name: /home/colo/NeuesVerzeichnis/dir3_fileH.ext.NEUEEXT&#xD;
&#xD;
Full file name: dir3/fileI.ext&#xD;
File: fileI.ext&#xD;
New name: /home/colo/NeuesVerzeichnis/dir3_fileI.ext.NEUEEXT&#xD;
&#xD;
&#xD;
&#xD;
colo@zealot:~ $ cat ./script.bash &#xD;
#/!bin/bash&#xD;
basedir="${HOME}/Verzeichnis"&#xD;
&#xD;
pushd "${basedir}"&#xD;
for i in */*.ext&#xD;
do&#xD;
	printf 'Full file name: %s\n' "${i}"&#xD;
	printf 'File: %s\n' "${i##*/}"&#xD;
	printf 'New name: %s\n' "${HOME}/NeuesVerzeichnis/${i%%/*}_${i##*/}.NEUEEXT"&#xD;
	echo&#xD;
done&#xD;
&lt;/pre&gt;&lt;/div&gt;&lt;br/&gt;</description>
      <pubDate>Mon, 29 Dec 2014 18:10:34 GMT</pubDate>
      <guid>http://forum.geizhals.at/t858713,7403236.html#7403236</guid>
      <dc:creator>colo</dc:creator>
      <dc:date>2014-12-29T18:10:34Z</dc:date>
    </item>
    <item>
      <title>Re(2): Substring aus Varibale zurückgeben</title>
      <link>http://forum.geizhals.at/t858713,7402663.html#7402663</link>
      <description>So einfach kann es gehen, wenn man sich auskennt...&lt;br&gt;&lt;br&gt;Danke &lt;img src="smile.gif" width="16" height="19" align="absmiddle" alt=":)"/&gt;&lt;br/&gt;</description>
      <pubDate>Sun, 28 Dec 2014 12:49:20 GMT</pubDate>
      <guid>http://forum.geizhals.at/t858713,7402663.html#7402663</guid>
      <dc:creator>Glockman</dc:creator>
      <dc:date>2014-12-28T12:49:20Z</dc:date>
    </item>
    <item>
      <title>Re: Substring aus Varibale zurückgeben</title>
      <link>http://forum.geizhals.at/t858713,7402648.html#7402648</link>
      <description>fl=$(basename "$j")&lt;br&gt;&lt;br/&gt;</description>
      <pubDate>Sun, 28 Dec 2014 11:53:12 GMT</pubDate>
      <guid>http://forum.geizhals.at/t858713,7402648.html#7402648</guid>
      <dc:creator>ChrisS</dc:creator>
      <dc:date>2014-12-28T11:53:12Z</dc:date>
    </item>
    <item>
      <title>Substring aus Varibale zurückgeben</title>
      <link>http://forum.geizhals.at/t858713,7402638.html#7402638</link>
      <description>Ich geb's zu, ich bin ein Windows-Fuzzi, hab mit Linux nicht wirklich viel zu tun - und schon gar nicht mit Shellscripts. Aber ab und zu braucht man halt was - und dann steht man da...&lt;br&gt;&lt;br&gt;Zum konkreten Fall: ich hab stümperhaft ein Script gebastelt, das mir mit einer Schleife durch eine Verzeichnisliste mit allen Unterverzeichnissen loopt und darin Dateien mit einer bistimmten Endung auflistet. Das klappt auch soweit. &lt;br&gt;&lt;br&gt;Mein Problem ist aber, dass ich als Rückgabewert da jetzt den kompletten Pfad zur Datei bekomme (also /root/Verzeichnis/Sub1/Datei), ich aber davon nur das "Datei" brauche.&lt;br&gt;Im Endeffekt will ich dann die Dateien mit dem Unterverzeichnisnamen als Prefix in ein anderes Verzeichnis verschieben.&lt;br&gt;&lt;br&gt;Wie bekomme ich jetzt unter Linux ein "Right(Pfad,Len(Pfad)-InStrRev(Pfad,"/"))"?&lt;br&gt;&lt;br&gt;Hab es schon erfolglos mit cut, expr match und ${##} versucht.&lt;br&gt;&lt;br&gt;Falls es hilft, das Script:&lt;br&gt;&lt;br&gt;&lt;div class=code&gt;&lt;pre&gt;&#xD;
#! /bin/bash&#xD;
&#xD;
basedir=/root/Verzeichnis/&#xD;
&#xD;
for i in `ls $basedir`&#xD;
do&#xD;
  echo "Directory: $i"&#xD;
        for j in `ls $basedir$i/*.ext`&#xD;
        do&#xD;
            echo "Full file name: $j"&#xD;
            fl = &amp;lt;Hier soll nur der Dateiname rauskommen&amp;gt;&#xD;
            echo "File: $fl"&#xD;
            echo "New name: /root/NeuesVerzeichnis/${i}_${fl}.ext"&#xD;
        done&#xD;
done&#xD;
&lt;/pre&gt;&lt;/div&gt;&lt;br&gt;&lt;br&gt;Danke schon mal im Voraus.&lt;br/&gt;</description>
      <pubDate>Sun, 28 Dec 2014 11:46:58 GMT</pubDate>
      <guid>http://forum.geizhals.at/t858713,7402638.html#7402638</guid>
      <dc:creator>Glockman</dc:creator>
      <dc:date>2014-12-28T11:46:58Z</dc:date>
    </item>
  </channel>
</rss>
