LINUX.ORG.RU

История изменений

Исправление 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