Задать вопрос

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

На входе имя файла, как вырезать его расширение, если имя: ..log.f, .log.ccc, log.qwerty, в общем, вытащить справа до точки?
  • Вопрос задан
  • 3027 просмотров
Подписаться 2 Оценить 1 комментарий
Помогут разобраться в теме Все курсы
  • Нетология
    Специалист по информационной безопасности + нейросети
    12 месяцев
    Далее
  • Академия Эдюсон
    Python-разработчик + ИИ
    9 месяцев
    Далее
  • ProductStar × РБК
    Профессия DevOps-инженер + ИИ
    5 месяцев
    Далее
Решения вопроса 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
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы