Как вырезать расширение файла?

На входе имя файла, как вырезать его расширение, если имя: ..log.f, .log.ccc, log.qwerty, в общем, вытащить справа до точки?
  • Вопрос задан
  • 2979 просмотров
Решения вопроса 2
EXL
@EXL
Энтузиаст
#!/bin/bash
OLDIFS=$IFS
string=$1
IFS='.'
string_array=($string)
len=$(( ${#string_array[@]} - 1 ))
IFS=$OLDIFS
echo ${string_array[$len]}


exl@exl-Lenovo-G560e:~/SandBox > ./token.sh ..log.f
f
exl@exl-Lenovo-G560e:~/SandBox > ./token.sh .log.ccc
ccc
exl@exl-Lenovo-G560e:~/SandBox > ./token.sh log.qwerty
qwerty
Ответ написан
Комментировать
mmilky
@mmilky Автор вопроса
вот еще мне помогло ${filename##*.}, все до последней точки
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@axelll1
все проще....
echo .log.ccc | awk -F\. '{print $NF}'
ccc

echo ..log.f | awk -F\. '{print $NF}'
f
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы