Команда basename в Linux с примерами

Опубликовано: 16 Февраля, 2022

basename удаляет информацию о каталоге и суффиксы из имен файлов, т.е. выводит имя файла NAME с удаленными ведущими компонентами каталога.

Используя команду basename:

Команду basename можно легко использовать, просто написав basename, за которым следует имя файла или полный путь.

Синтаксис команды basename:

$ basename NAME [СУФФИКС]
        или
$ basename ИМЯ ОПЦИИ

где NAME относится к имени файла или полному пути к файлу, а OPTION относится к параметрам, совместимым с командой basename, и в случае, если вы хотите убрать суффикс файла, вы можете указать имя файла, за которым следует суффикс-имя, которое вы хотите избавиться.

Пример :

/* basename removes directory path and 
   returns the file name, kt */
$basename /usr/local/bin/kt
kt

В первом случае команда basename удаляет имя каталогов из полного пути, указанного для файла kt, а во втором случае basename удаляет суффикс .html из kt.html.

Параметры для команды basename:

  • -a, - -multiple option: эта опция позволяет вам поддерживать несколько аргументов и обрабатывать каждый как ИМЯ, т.е. вы можете указать несколько имен файлов или полные имена с использованием опции -a.
    / * -a используется для нескольких входов * /
    $ basename -a / usr / local / bin / kt /usr/local/bin/kt.html
    kt
    kt.html
    
  • -s, - -suffix = SUFFIX параметр: Этот параметр удаляет конечный суффикс SUFFIX, например расширение файла.
    
    Суффикс /*.html удаляется из kt.html 
       когда следует параметр -s * /
    $ basename -s .html kt.html
    kt
    
  • Параметр -z: отделяет вывод с помощью NULL, а не новой строки.
    / * Выходы двух переданных аргументов
       не разделяются новой строкой * /
    $ basename -az / usr / local / bin / kt kt.html
    ktkt
    
  • - -help option: отображает справочную информацию и завершает работу.
  • - -version option: отображает информацию о версии и завершает работу.

Применение команды basename:

Доступно множество утилит, которые полезны только для сценариев оболочки и не имеют практического применения при использовании сами по себе, и basename попадает в эту категорию.

Пример сценария оболочки, который преобразует файлы изображений gif в файлы изображений png с помощью команды basename:

/ * сценарий оболочки для преобразования
формат файла изображения gif в
png формат файла изображения * /

#! / bin / sh
для файла в формате * .gif; сделать
    # выйти, если файлов нет
    если [! -f $ file]; затем
        выход
    фи
    b = 'базовое имя $ file .gif'
    echo СЕЙЧАС $ b.gif - это $ b.png
    giftopnm $ b.gif | pnmtopng> $ b.png
сделано

В приведенном выше сценарии оболочки команда basename используется для извлечения имен файлов с расширением .gif без расширения, чтобы их можно было преобразовать в файлы .png.

Ссылки: команда basename