Я нашел полезный сценарий оболочки, который рекурсивно отображает все файлы в каталоге.Запустить FFmpeg из Shell Script
Где он печатает имя файла echo "$i"; #Display File name
.
Мне бы хотелось запустить команду ffmpeg для файлов без MP3-файлов, как я могу это сделать? У меня очень ограниченное знание shell-скриптов, поэтому я ценю, если бы я был ложкой! :)
//if file is NOT MP3
ffmpeg -i [the_file] -sameq [same_file_name_with_mp3_extension]
//delete old file
Вот сценарий оболочки для справки.
DIR="."
function list_files()
{
if !(test -d "$1")
then echo $1; return;
fi
cd "$1"
echo; echo `pwd`:; #Display Directory name
for i in *
do
if test -d "$i" #if dictionary
then
list_files "$i" #recursively list files
cd ..
else
echo "$i"; #Display File name
fi
done
}
if [ $# -eq 0 ]
then list_files .
exit 0
fi
for i in $*
do
DIR="$1"
list_files "$DIR"
shift 1 #To read next directory/file name
done
Они на самом деле все файлы rm. Эта одна строка находит файл, преобразует его и удаляет старый? !! – Abs
Я обновил ответ, чтобы сделать то, что вы просите здесь. Протестируйте его несколькими отдельными файлами перед запуском пакета в вашем рабочем каталоге - я не беру на себя ответственность за удаленные файлы :) – Roadmaster
- это команда 'rm', удаляющая старый файл (файл .rm)? Кстати, я очень ценю ваши объяснения, что делает вещи действительно ясными. – Abs