Archiv verlassen und diese Seite im Standarddesign anzeigen : find - exec argument in variable speichern
Sagen wir ich will alle mp3's die find findet umbenennen, dazu stelle ich mir folgendes script vor:
find . -type f -name "*.mp3" -exec sh -c "tmp={}; mv $tmp rename_$tmp" \;
das geht aber nicht...wie soll ich es machen? geht das?
Und: Ja, ich will es mit find machen und ohne zusaetzlichem script was aufgerufen wird.
Und: Ja, ich will es mit find machen und ohne zusaetzlichem script was aufgerufen wird.
Das {} hat seine spezielle Bedeutung nur, wenn es direkt von find "gelesen" wird.
So wie Du es machen willst, tut das aber die Shell.
Abhilfe: baue um find eine for-Schleife, die die Dateinamen einzeln liefert.
Beispiele dazu: Suchfunktion "for x in $(find".
Gruss,
Wolfgang
Oh, danke!
und wers nch wissen will:
for tmp in $(find . -type f -name "*.mp3");
do filename=${tmp##*/}; directory=${tmp%%$filename};
echo mv $tmp $directory"converted_"$filename ; done;
natuerlich dann das letztet echo entfernen, aber damit kann man erstmal sichergehen ob alles klappt ;)
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.