Как извлечь имя файла и расширение в Bash

Kak Izvlec Ima Fajla I Rassirenie V Bash



Bash — это мощная оболочка командной строки, которая обычно используется в операционных системах Linux и Unix. Одной из распространенных задач при работе с файлами в Bash является извлечение имени файла и расширения из пути к файлу. В этой статье мы обсудим, как извлечь имя файла и расширение в Bash, и приведем примеры того, как использовать эти значения в ваших сценариях.

Извлечение имени файла и расширения в Bash

Есть несколько способов извлечь имя файла и расширение в Bash, вот три распространенных метода:







1: Использование команды Basename

базовое имя Команда возвращает имя файла из пути к файлу и извлекает имя файла и расширение. Вы можете использовать базовое имя команда с -суффикс опция, которая удаляет указанный суффикс из имени файла, как в приведенном ниже коде:



#!/бин/баш
# Пример пути к файлу
Путь к файлу '=' '/путь/к/файлу.txt'

# Извлечь имя файла
имя файла =$ ( базовое имя $file_path )

# Извлечь расширение
расширение '=' ' ${имя файла##*.} '

эхо 'Имя файла: $filename '
эхо 'Расширение: $расширение '







2: Использование расширения параметров

расширение параметра Синтаксис — мощная функция Bash, которая позволяет вам манипулировать строками. Чтобы извлечь имя файла и расширение с помощью расширения параметра, вы можете использовать ${параметр##слово} синтаксис, который удаляет самое длинное совпадение указанного шаблона с начала параметра, как в приведенном ниже коде:

#!/бин/баш
# Пример пути к файлу
Путь к файлу '=' '/путь/к/файлу.txt'
# Извлечь имя файла
имя файла '=' ' ${file_path##*/} '
# Извлечь расширение
расширение '=' ' ${имя файла##*.} '
эхо 'Имя файла: $filename '
эхо 'Расширение: $расширение '



3: Использование переменной IFS (внутренний разделитель полей)

IFS-переменная используется Bash для разделения строк на поля путем установки IFS-переменная к разделителю пути («/»). Вы можете извлечь имя файла и расширение из пути к файлу через эту переменную, используя приведенный ниже код:

#!/бин/баш
# Пример пути к файлу
Путь к файлу '=' '/путь/к/файлу.txt'
# Установите IFS в '/'
ИФС '=' '/' читать части <<< ' $file_path '

# Извлечь имя файла
имя файла '=' ' ${частей[-1]} '
# Извлечь расширение
расширение '=' ' ${имя файла##*.} '
эхо 'Имя файла: $filename '
эхо 'Расширение: $расширение '

Заключение

Извлечение имени файла и расширения из пути к файлу — обычная задача при работе с файлами в Bash. В этой статье обсуждались три распространенных метода извлечения имени файла и расширения в Bash. С помощью базовое имя команда, расширение параметра синтаксис, или IFS-переменная , вы можете быстро и легко извлечь значения имени файла и расширения из пути к файлу.