Bash е мощна обвивка на командния ред, която обикновено се използва в операционни системи Linux и Unix. Една често срещана задача при работа с файлове в Bash е да извлечете името на файла и разширението от пътя на файла. Тази статия ще обсъди как да извлечете името на файла и разширението в Bash и ще предостави примери за това как да използвате тези стойности във вашите скриптове.
Извличане на името на файла и разширението в Bash
Има няколко начина за извличане на името на файла и разширението в Bash, ето три често срещани метода:
- Използване на команда Basename
- Използване на разширение на параметри
- Използване на променливата IFS (Internal Field Separator).
1: Използване на командата Basename
The основно име командата връща името на файла от пътя на файла и извлича името на файла и разширението. Можете да използвате основно име команда с -наставка опция, която премахва посочения суфикс от името на файла, както в дадения по-долу код:
#!/bin/bash
# Примерен път на файл
файлова пътека = '/path/to/file.txt'
# Извличане на име на файл
име на файл =$ ( основно име $file_path )
# Извличане на разширение
разширение = ' ${filename##*.} '
ехо 'Име на файл: $име на файл '
ехо „Разширение: $разширение '
2: Използване на разширението на параметрите
The разширяване на параметъра синтаксисът е мощна функция на Bash, която ви позволява да манипулирате низове. За да извлечете името на файла и разширението с помощта на разширение на параметър, можете да използвате ${parameter##word} синтаксис, който премахва най-дългото съвпадение на посочения шаблон от началото на параметъра, както е в кода по-долу:
#!/bin/bash# Примерен път на файл
файлова пътека = '/path/to/file.txt'
# Извличане на име на файл
име на файл = ' ${file_path##*/} '
# Извличане на разширение
разширение = ' ${filename##*.} '
ехо 'Име на файл: $име на файл '
ехо „Разширение: $разширение '
3: Използване на променливата IFS (Internal Field Separator).
The IFS променлива се използва от Bash за разделяне на низове в полета чрез настройка на IFS променлива към разделителя на пътя (“/”). Можете да извлечете името и разширението на файла от пътя на файла чрез тази променлива, като използвате дадения по-долу код:
#!/bin/bash# Примерен път на файл
файлова пътека = '/path/to/file.txt'
# Задайте IFS на '/'
IFS = '/' Прочети -р -а части <<< ' $file_path '
# Извличане на име на файл
име на файл = ' ${части[-1]} '
# Извличане на разширение
разширение = ' ${filename##*.} '
ехо 'Име на файл: $име на файл '
ехо „Разширение: $разширение '
Заключение
Извличането на името на файла и разширението от пътя на файла е обичайна задача при работа с файлове в Bash. Тази статия обсъжда три често срещани метода за извличане на името на файла и разширението в Bash. С помощта на основно име команда, на разширяване на параметъра синтаксис, или IFS променлива , можете бързо и лесно да извлечете името на файла и стойностите на разширението от пътя на файла.