for f in ./*.mp3; do sox "$f" "${f%%.mp3}processed.mp3" silence 1 0.02 1% -1 0.02 1%; done
Dies ist ein Skript, das ich verwende, um Audiodateien zu verarbeiten. Das Problem ist, dass es in einer Schleife läuft und auch die neuen Audiodateien verarbeitet. Ich möchte dieses Problem beheben, indem Sie den Ausgang geht in einem Unterordner hat, so habe ich versucht, dies:entfernen führenden "./" in einem Batch-Skript
for f in ./*.mp3; do sox "$f" "/subfolder${f%%.mp3}processed.mp3" silence 1 0.02 1% -1 0.02 1%; done
Dies ist der Ausgang:
/subfolder./01processed.mp3
mir Dies gibt einen Fehler mit Sox, ich müssen Sie die ./ vor dem Dateinamen-Ausgang entfernen, wie könnte ich das tun? Dies ist die Ausgabe Ich mag würde haben:
/subfolder/01processed.mp3
Ich habe das versucht und es hat immer noch nicht funktioniert, aber durch Hinzufügen eines führenden "." jetzt funktioniert es. 'do sox "$ f" "./subfolder/${f%%.mp3}processed.mp3" Stille 1 0.02 1% -1 0.02 1%; done ' – Marw
@Marw Fügen Sie kein "." hinzu, entfernen Sie das "/" (verwenden Sie also "" subfolder/$ {f %%. mp3} processed.mp3 "'). –