mp3info
программа только пишет теги ID3 v1. Android начал выглядеть на просто теги v2. Необходимо использовать id3v2
программа для записи тегов из командной строки, которая будет распознана в большинстве современных систем.
Для музыкального теггера GUI я рекомендую EasyTAG.
Кроме того, grip
разорвет аудио компакт-диск к mp3 и запишет теги с помощью cddb данные, которые работают над Android все на одном шаге. Существуют другие программы разрыва к, который просто, оказывается, тот, который я использую и знаю, что он работает.
Функция не может влиять на позиционные параметры своей вызывающей стороны. Это дизайном: позиционные параметры предназначены, чтобы быть частными к функции.
Сделайте свою функциональную работу над массивом.
myfunction () {
local _myfunction_arrayname=$1
shift
… # work on the positional parameters
eval "$_myfunction_arrayname=(\"\$@\")"
}
myfunction foo "$@"
set -- "${foo[@]}"
В ksh93 и ударе, существует окольный способ сделать что-то приближающееся путем объединения псевдонима и .
(source
) встроенный с заменой процесса. Пример.
alias myfunction='. <(echo myfunction_body \"\$@\"; echo set -- "\"\${new_positional_parameters[@]}\"")'
Поместите суть работы функции в myfunction_body
и заставьте его установить массив new_positional_parameters
. После вызова к myfunction
, позиционные параметры устанавливаются на значения это myfunction_body
вставляет new_positional_parameters
.
Вот некоторый код который циклы через параметры, обновляя каждого из них по мере необходимости. В этом случае замена дубликата режет с единственным:
for param
do
param="$(printf %s. "$1" | tr -s "/")"
set -- "$@" "${param%.}"
shift
done
set -- "${@//\/+(\/)//}"
вместо всего это? (Обратите внимание, что это требует shopt -s extglob
, который является прочь по умолчанию для неинтерактивных оболочек.)
– manatwork
17.10.2012, 13:06