ich dieses Skript online gefunden, die ich zu bearbeiten bin versucht, aber wie ich es bin Tests kann ich sehen, dass es eine Reihe von Fehlern für alle Dateien ausspucken werde ich habe mit Leerzeichen. Dies ist die Art von Fehlerprotokoll I am Terminal Fenster:Bash-Skript können keine Leerzeichen in Dateinamen umgehen
Skipping 1-03 as ./mp3/basename "$input_file" .wav.mp3 exists.
Skipping The as ./mp3/basename "$input_file" .wav.mp3 exists.
Skipping power, as ./mp3/basename "$input_file" .wav.mp3 exists.
Und das ist das Skript:
#!/bin/bash
# Title: wav_to_mp3.sh
# Purpose: Converts all WAV files present in the folder to MP3
# Author: Karthic Raghupathi, IVR Technology Group LLC
# Last Revised: 2014.01.28
# references
sox="/usr/local/bin/sox"
sox_options="-S"
# variables
source_folder="${1:-.}"
destination_folder="${source_folder}/mp3"
environment="${2:-DEVELOPMENT}"
# check to see if an environment flag was supplied
if [ $environment = "PRODUCTION" ] || [ $environment = "production" ]; then
sox="/usr/bin/sox"
environment="PRODUCTION"
fi
# print all params so user can see
clear
echo "Script operating using the following settings and parameters....."
echo ""
echo "which SoX: ${sox}"
echo "SoX options: ${sox_options}"
echo "Environment: ${environment}"
echo "Source: ${source_folder}"
echo "Destination: ${destination_folder}"
echo ""
read -e -p "Do you wish to proceed? (y/n) : " confirm
if [ $confirm = "N" ] || [ $confirm = "n" ]; then
exit
fi
# create destination if it does not exist
if [ ! -d "${destination_folder}" ]; then
mkdir -p "${destination_folder}"
fi
# loop through all files in folder and convert them to
for input_file in $(ls -1 $1 | grep .wav)
do
name_part=`basename "$input_file" .wav`
output_file="$name_part.mp3"
# create mp3 if file does not exist
if [ ! -f "$destination_folder/$output_file" ]; then
$sox $sox_options "${source_folder}/$input_file" "$destination_folder/$output_file"
else
echo "Skipping ${input_file} as $destination_folder/$output_file exists."
fi
done
Ich weiß, ich soll es die Leerzeichen machen zu entkommen, aber ich kann nicht herausfinden, wie. Ich habe versucht, einige Zitate hier und da zu ändern, aber ich breche es gerade.
BTW, wenn jemand so freundlich sein würde als ein gutes Tutorial zu dem Link zu lernen, wie man Bash-Skripte auf Mac OS (oder Unix) zu machen, das wäre sehr geschätzt. Ich kenne bereits ein bisschen Webprogrammierung, also bin ich kein komplettes n00b, aber trotzdem habe ich Probleme beim Erstellen sehr einfacher Skripte und ich würde gerne selbständig lernen, ohne ständig das Internet um Hilfe zu bugsieren.
Ok danke! Ich werde versuchen, zu sehen, wie ich eine Funktion für das machen kann, vielen Dank für die schnelle Antwort :) – Marw
Keine Sorge - Sie können diesen Kommentar hilfreich: http://tldp.org/LDP/abs/html/string-manipulation. html – Nunchy
Downvote: Dies ist das Symptom beheben, nicht das Problem. http://mywiki.wooled.org/ParsingLs – tripleee