[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Отрезать расширение в bash



-=Devil_InSide=- пишет:
> особенно в виде:
> echo (2007)-super-puper.artist.album.KWWKER.black_jeans.funk.flac
>
> :)
> даже лучше проиллюстрирую:
> echo  W.A.S.P..[1984-1997].[CD].W.A.S.P..(Remastered).[EAC.APE].by.xileforud.[MeTaLMaDNeSS.TeaM].rar | blabla_comanda
>
> на самом деле таких больных флаков у меня нет (качаю в основном с сайтов с утрясшимися стандартами именования) - более менее однотипные имена с которыми можно в теории обойтись нижеописанным образом. 
> но шанс нарваться - есть (особенно у любителей електронщины - там именование логике вообще не поддается) - поетому метод должен быть универсальным и независящим от больной фантазии кодировщиков
> :)
>
> зыЖ
> гораздо более применимо ( раз уж речь о не столь лаконичных баранах ) 
> echo "filename.[strong].-.(perverted).flac" | sed 's/.*\.//' 
>
> дополнительно замечу, что в данных строках обрезается имя файла и необходимо будет потом отрезать от файла полученное в наших примерах расширение.
> :)
> а ето уже громоздковато:
> ----8<----
> #!/bin/sh
> ext=`echo "filename.[strong].-.(perverted).flac" | sed 's/.*\.//'` &> /dev/null
> fname="filename.[strong].-.(perverted).flac"
> name=`echo "$fname" | sed 's/\.'$ext'$//'`
> echo "$name"
>
>   
basename 
'W.A.S.P..[1984-1997].[CD].W.A.S.P..(Remastered).[EAC.APE].by.xileforud.[MeTaLMaDNeSS.TeaM].rar'
.rar
W.A.S.P..[1984-1997].[CD].W.A.S.P..(Remastered).[EAC.APE].by.xileforud.[MeTaLMaDNeSS.TeaM]
чяднт?

-- 
Александр Вайтехович
www: http://sanych.nnov.ru
e-mail: ssanych[at]gmail[dot]com 
icq: 168712946


Reply to: