Главная > Управление файлами и каталогами > basename

Руководство по команде basename

Команда `basename` используется для извлечения только чистого имени файла (или имени каталога) из пути к файлу, исключая часть с каталогом. Это очень полезно, когда вам нужно чисто обрабатывать имена файлов в сценариях оболочки.

Обзор basename

`basename` возвращает строку после последнего слэша (/) в заданной строке пути. Другими словами, это команда, которая извлекает только часть имени из полного пути к файлу или каталогу.

Роль basename

Команда `basename` в основном используется в следующих ситуациях:

Основные области применения

  • Сценарии оболочки: При извлечении только имен файлов для выполнения определенных операций в циклах обработки файлов.
  • Анализ журналов: При фильтрации только имен файлов из журналов, которые включают пути, для создания статистических данных.
  • Автоматизация: При создании или обработке других имен файлов на основе имени файла.

Основные опции команды basename

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

1. Основное использование

2. Опция удаления расширения

Сгенерированная команда:

Комбинируйте команды.

Описание:

`basename` Запускает команду.

Комбинируйте эти опции, чтобы виртуально выполнять команды с помощью ИИ.

Примеры использования

Практикуйтесь в извлечении и обработке имен файлов с помощью практических примеров команды `basename`.

Извлечь имя файла из пути к файлу

basename /home/user/documents/report.pdf

Извлекает чистое имя файла `report.pdf` из пути `/home/user/documents/report.pdf`.

Извлечь имя последнего каталога из пути к каталогу

basename /var/log/apache2/

Извлекает имя последнего каталога `apache2` из пути `/var/log/apache2/`.

Удалить расширение файла

basename image.png .png

Удаляет расширение `.png` из имени файла `image.png`, оставляя только `image`.

Удалить сложное расширение

basename archive.tar.gz .tar.gz

Удаляет расширение `.tar.gz` из `archive.tar.gz`, оставляя только `archive`.

Пример использования basename в сценарии

for file in *.log; do
  base_name=$(basename "$file" .log)
  echo "Processing: $base_name"
done

Пример сценария оболочки, который использует цикл for для вывода только базовых имен файлов с расширением `.log`.


Связанные команды

Функционально схожие или часто используемые команды.


Те же команды в категории