Deutsch
Germany.ruФорумы → Архив Досок→ Linux & Co

script: найти расширение файла

99  
Tolstyj коренной житель28.01.07 23:54
Tolstyj
28.01.07 23:54 
Последний раз изменено 29.01.07 00:07 (Tolstyj)
Пишу себе небольшой bash-скрипт для упорядочивания моей моллекции фильмов и прочего и вот возник вопрос как определить в скрипте расширение файла, если имя может содержать практически любые символы - точки, запятые, пробелы, апострофы и прочее (в названиях файлов из инета всякое бывает).
Вот идея скрипта, где это нужно

cd $1
for i in *
do
действия в зависимости от расширения файла
done


где i - это имена файлов в текущем каталоге, вот и нужно из полного имени файла вычленить его расширение.
Вопрос в том какие команды для этого использовать и на какие параметры обратить внимание?

#1 
DXI посетитель29.01.07 00:25
NEW 29.01.07 00:25 
в ответ Tolstyj 28.01.07 23:54
bash
file="sdfdf.sdf.ds.dsf.dd"
echo ${file##*.}
awk
echo "sdfdf.sdf.ds.dsf.dd" | awk 'BEGIN{ FS = "." } {print $NF;}'
#2 
Tolstyj коренной житель30.01.07 03:56
Tolstyj
NEW 30.01.07 03:56 
в ответ DXI 29.01.07 00:25
Спасибо, все работает.
А мог бы дать ссылку на описание, а то я не совсем понимаю, как оно вот тут происходит: echo ${file##*.}
#3 
Tolstyj коренной житель01.02.07 05:12
Tolstyj
NEW 01.02.07 05:12 
в ответ Tolstyj 30.01.07 03:56
Я нашел.
Вот может кому понадобится http://gazette.linux.ru.net/rus/articles/abs-guide/index.html
#4