hallo,
ich habe in einer log-datei die pfadangabe von einigen dateien gespeichert.
jetzt möchte ich aufgrund des inhaltes einen kopiervorgang starten. (z.b. mit cp oder oder gleich packen mit zip)
das klappt auch super:
z.b.
zip /Backup/archiv.zip `cat log-datei`
jetzt tritt aber das problem auf, wenn in im datei-namen sonderzeichen oder leerzeichen auftreten
z.b. (auszug aus log-datei)
/home/nutzer/test.txt
/home/nutzer/test von heute.txt (leerzeichen im namen)
/home/nutzer/test'von`heute.txt (hochkomma im namen)
da fliegt mir das ding um die ohren. ich hab mich da schon mal mit
| xargs -iXX echo 'XX'
probiert, das haut das dann zwar mit den leerzeichen hin, aber die hochkommas machen da wieder problem.
hat jemand eine idee?
kopieren von einer dateiliste
Re: kopieren von einer dateiliste
xargs war schon der richtige Ansatz:<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">tr '\<!--no-->012' '\<!--no-->0' <log-datei | xargs -0 zip /Backup/archiv.zip</font><hr></pre></blockquote>Die Option "-0" sagt dem xargs, dass er null-terminierte Zeichenketten erwarten soll, wie sie beispielsweise auch GNU-find mit der Option "-print0" erzeugt. Damit die Eingabe auch so aussieht, werden mittels tr die Newlines in der Logdatei durch ASCII-NUL ersetzt.
Jochen
Jochen