Archiv verlassen und diese Seite im Standarddesign anzeigen : Find und absolute Filenamen
Waxolunist
03-01-2007, 11:02
Hallo
Wenn ich
find ../Music -type f -iname "*.ogg" -print
angebe, gibt er mir all meine oggs mit relativem Pfad zurück. Wie kann ich den absoluten Pfad ausgeben lassen?
Also /home/christian/Music/Interpret/Album/Lied.ogg statt ../Music/...... usw.
lg, christian
Moin moin,
so vllt?
find ~/Music -type f -iname "*.ogg" -print
MfG,
Waxolunist
03-01-2007, 12:30
Die Tilde ersetzt eigentlich nur /home/christian wenn ich als christian angemeldet bin aber nicht "..".
Was wenn Music ein Unterverzeichnis von media ist, müsste ich nun ~/media/Music reinschreiben.
Das ganze ist für ein Skript und ../Music ist der Übergabeparameter.
Waxolunist
03-01-2007, 12:32
Im shelldorado hab ich jetzt eine Lösung gefunden. Die funktioniert soweit einmal:
http://www.shelldorado.com/shelltips/script_programmer.html
D=`dirname "$relpath"`
B=`basename "$relpath"`
abspath="`cd \"$D\" 2>/dev/null && pwd || echo \"$D\"`/$B"
Aber wenn jemand eine einfachere Lösung zusammen mit find -exec oder so kennt, wär ich trotzdem dankbar.
lg, christian
moin :D
oerhm?
for m in ../Music/*.ogg; do echo "`dirname $m`"/"`basename $m`" | tr -d '..' ; done
Erst hoffte ich auf find's -regex Option...
for m in ../Music/*/*.ogg; do echo "`dirname $m`"/"`basename $m`" | tr -d '..' ; done
wuerde Unterordner finden.
Ich habe mir mal wegen mangelnder Uebersicht einen Cronjob mit Sed geklau^H^H^H^Hbastelt :D
Zum Beispiel fuer nur mp3files etwa so:
locate \.mp3 | sed -n s'/\(.*\)\/.*\.mp3/\1/p'|grep -v \.ogg|sort -u
Nachteil ist, das man die locate Datenbank aktuell halten muss, oder
wenn man das nicht will, kann man noch ein xargs stat heranhaengen.
Jetzt bin ich aber auf eine Loesung mit find gespannt :D
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.