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
🧠 Под капотом:
-
%.* — удаляет самую правую точку и всё после.-
%%.* — удаляет самую левую точку и всё после.Мощно и без внешних команд! 🚀
📲 Мы в MAX
👉@bash_srv
