📁 Как отрезать расширение у файла в Bash filename="example.
filename="example.txt"
name="${filename%.*}"
echo "$name"
📌 Что тут происходит:
- ${filename%.*} — удаляет последнюю точку и всё после неё, то есть расширение.
👀 Примеры:
filename="backup.tar.gz"
name="${filename%.*}" # Результат: backup.tar
Если хочешь убрать все расширения (в т.ч. .tar.gz), можно использовать вот так:
filename="backup.tar.gz"
name="${filename%%.*}" # Результат: backup
🧠 Под капотом:
- %.* — удаляет самую правую точку и всё после.
- %%.* — удаляет самую левую точку и всё после.
Мощно и без внешних команд! 🚀
👉 @bash_srv