История изменений
Исправление justAmoment, (текущая версия) :
Ну. смотря насколько формализованы правила составления имён, настолько успешно возможно расшифровать их обратно.
$ alias splitname="sed 's/\(.*\)-\([0-9\.]*\)\(b\([0-9]*\)\)*\(\.\)\([a-zA-Z0-9\.]*\)/name=\1\nver=\2\nbetaver=\4\narc=\6/'"
$ echo firefox-23.0.tar.bz2 | splitname
name=firefox
ver=23.0
betaver=
arc=tar.bz2
$ echo firefox-23.0b10.tar.bz2 | splitname
name=firefox
ver=23.0
betaver=10
arc=tar.bz2
$ echo firefox-gtk3-48.0b99.tar.bz2 | splitname
name=firefox-gtk3
ver=48.0
betaver=99
arc=tar.bz2
$ echo noname-5.gz | splitname
name=noname
ver=5
betaver=
arc=gz
Исправление justAmoment, :
Ну, смотря насколько формализованы правила составления имён, настолько успешно возможно расшифровать их обратно.
$ alias parsename="sed 's/\(.*\)-\([0-9\.]*\)\(b\([0-9]*\)\)*\(\.\)\([a-zA-Z0-9\.]*\)/name=\1\nver=\2\nbetaver=\4\narc=\6/'"
$ echo firefox-23.0.tar.bz2 | splitname
name=firefox
ver=23.0
betaver=
arc=tar.bz2
$ echo firefox-23.0b10.tar.bz2 | splitname
name=firefox
ver=23.0
betaver=10
arc=tar.bz2
$ echo firefox-gtk3-48.0b99.tar.bz2 | splitname
name=firefox-gtk3
ver=48.0
betaver=99
arc=tar.bz2
$ echo noname-5.gz | splitname
name=noname
ver=5
betaver=
arc=gz
Исходная версия justAmoment, :
Ну. смотря насколько формализованы правила составления имён, настолько успешно возможно расшифровать их обратно.
$ alias parsename="sed 's/\(.*\)-\([0-9\.]*\)\(b\([0-9]*\)\)*\(\.\)\([a-zA-Z0-9\.]*\)/name=\1\nver=\2\nbetaver=\4\narc=\6/'"
$ echo firefox-23.0.tar.bz2 | splitname
name=firefox
ver=23.0
betaver=
arc=tar.bz2
$ echo firefox-23.0b10.tar.bz2 | splitname
name=firefox
ver=23.0
betaver=10
arc=tar.bz2
$ echo firefox-gtk3-48.0b99.tar.bz2 | splitname
name=firefox-gtk3
ver=48.0
betaver=99
arc=tar.bz2
$ echo noname-5.gz | splitname
name=noname
ver=5
betaver=
arc=gz