TGViewer
DevOps Portal | Linux DevOps Portal | Linux @loose_code · 13.2K subscribers
Post #182 138
Три метода извлечения информации о файлах в Linux: имена, расширения и пути

Давайте более подробно рассмотрим три метода извлечения информации из имен файлов в командной оболочке, описанных в вашем исходном тексте.

1. Извлечение имени файла и расширения с помощью basename

Периодически возникает потребность извлечь имя файла без его расширения. Взглянем, как сделать это с использованием команды basename:

FILENAME="linuxzone.gzip"
NAME=$(basename "$FILENAME" .gzip)
echo "Имя файла: $NAME"

В данном методе мы используем basename для отделения имени файла от расширения. Команда basename принимает имя файла и строку с символами расширения, которые мы хотим удалить. Результат сохраняется в переменную NAME.

2. Гибкий подход с использованием переменной IFS

Если вам нужен более гибкий способ, обратите внимание на переменную IFS (внутренний разделитель полей):

FILE="/tmp/linuxzone.gzip"

OLDIFS="$IFS"
IFS='.'
read -r NAME EXTENSION <<< "$FILE"
IFS="$OLDIFS"

echo "Имя файла: $NAME"
echo "Расширение: $EXTENSION"

В этом методе мы используем переменную IFS для разделения имени файла и расширения. Мы временно изменяем значение IFS на точку, после чего считываем имя и расширение файла в переменные NAME и EXTENSION.

3. Извлечение пути к файлу с помощью dirname

Иногда бывает полезно получить только путь к файлу без его имени. Для этого используется команда dirname:

FILE_PATH="/tmp/linuxzone.gzip"
DIRECTORY=$(dirname "$FILE_PATH")
echo "Путь к директории: $DIRECTORY"

В данном случае мы применяем dirname для извлечения пути к файлу. Команда dirname принимает путь к файлу и возвращает только путь к директории, удаляя имя файла.

Эти три метода предоставляют разнообразные способы извлечения информации из имен файлов в Linux. Выберите тот, который наилучшим образом соответствует вашей задаче. Если у вас возникли вопросы или комментарии, не стесняйтесь спрашивать!
  • 👍 1
More from @loose_code
  1. Oct 12, 2026DevOps-инструмент недели: Popeye Со временем в Kubernetes-кластерах могут накапливаться не…
  2. Oct 12, 2026Безопасный код ≠ безопасный прод 16 октября на онлайн-трансляции PSD 2026 команда AppSec P…
  3. Oct 8, 2026Интересный и полезный опенсорс-инструмент Как часто приходилось открывать консоль AWS и др…
  4. Oct 8, 2026В этом туториале показано, как разворачивать и масштабировать большие языковые модели (LLM…
  5. Oct 6, 2026Как работает Kubernetes Cluster Autoscaler? Базовый флоу выглядит так Pending Pod → Cluste…
  6. Oct 1, 2026Обработка миллионов файлов – это та точка, где большинство распределённых систем хранения…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →