Используя case
с шариком шаблоны могли бы работать на Вас. Составной шаблон *(pattern-list)
означает "Нуль соответствий или больше случаев данных шаблонов" и @(pattern-list)
означает "Соответствия точно один из данных шаблонов".
matcher() {
typeset var="$1"
case "$var" in
*@(foo|bar)*([0-9])) print "$var matched" ;;
*) print "$var did not match" ;;
esac
}
for var in foo bar baz foo123 abc_foo132 abc_foo123z bar1 1bar1 1bar1a; do
matcher "$var"
done
Выводы:
foo matched
bar matched
baz did not match
foo123 matched
abc_foo132 matched
abc_foo123z did not match
bar1 matched
1bar1 matched
1bar1a did not match
Это, кажется, из-за misencoded файла. Кодирование другим приложением, чем первоначально используемый не имело того же результата.
Вы установили необходимые gstreamer плагины?
(не знайте точно который, возможно, gstreamer0.10-плохо или gstreamer0.10-ffmpeg)...